{
  "contractName": "WitPriceFeedsLegacyUpgradable",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract WitOracle",
          "name": "_witOracle",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_versionTag",
          "type": "bytes32"
        },
        {
          "internalType": "bool",
          "name": "_upgradable",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "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": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "solver",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "codehash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "constructorParams",
          "type": "bytes"
        }
      ],
      "name": "NewPriceFeedsSolver",
      "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": false,
          "internalType": "address",
          "name": "evmOrigin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "evmSender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "erc2362Id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "witOracleQueryId",
          "type": "uint256"
        }
      ],
      "name": "PullingUpdate",
      "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": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "WitFeedDeleted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "WitFeedSettled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "solver",
          "type": "address"
        }
      ],
      "name": "WitFeedSolverSettled",
      "type": "event"
    },
    {
      "stateMutability": "nonpayable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "base",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "codehash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_codehash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "dataType",
      "outputs": [
        {
          "internalType": "enum Witnet.RadonDataTypes",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deployer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isUpgradable",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "prefix",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "witOracle",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        }
      ],
      "name": "isUpgradableFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_evmGasPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateUpdateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "footprint",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "_footprint",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupCaption",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "supportedFeeds",
      "outputs": [
        {
          "internalType": "bytes4[]",
          "name": "_ids",
          "type": "bytes4[]"
        },
        {
          "internalType": "string[]",
          "name": "_captions",
          "type": "string[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "_solvers",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        }
      ],
      "name": "supportsCaption",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalFeeds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lastValidQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lastValidQueryResponse",
      "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": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateQueryRequest",
      "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": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupWitnetBytecode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupWitnetRadHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupWitnetRetrievals",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "argsCount",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonRetrievalMethods",
              "name": "method",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "dataType",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "url",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "body",
              "type": "string"
            },
            {
              "internalType": "string[2][]",
              "name": "headers",
              "type": "string[2][]"
            },
            {
              "internalType": "bytes",
              "name": "radonScript",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval[]",
          "name": "_retrievals",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "defaultRadonSLA",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "minConsensusPercentage",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessReward",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "witnessCollateral",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "minerCommitRevealFee",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacy.RadonSLAv1",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResponse",
      "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": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResponseStatus",
      "outputs": [
        {
          "internalType": "enum IWitOracleLegacy.QueryResponseStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResultError",
      "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": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "requestUpdate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "unitaryReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacy.RadonSLAv2",
          "name": "legacySLA",
          "type": "tuple"
        }
      ],
      "name": "requestUpdate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "witnet",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "baseFeeOverheadPercentage",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        }
      ],
      "name": "deleteFeed",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deleteFeeds",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "_baseFeeOverheadPercentage",
          "type": "uint16"
        }
      ],
      "name": "settleBaseFeeOverheadPercentage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "unitaryReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacy.RadonSLAv2",
          "name": "radonSLAv2",
          "type": "tuple"
        }
      ],
      "name": "settleDefaultRadonSLA",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "settleFeedRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "internalType": "contract IWitOracleRequest",
          "name": "request",
          "type": "address"
        }
      ],
      "name": "settleFeedRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "internalType": "contract IWitOracleRequestTemplate",
          "name": "template",
          "type": "address"
        },
        {
          "internalType": "string[][]",
          "name": "args",
          "type": "string[][]"
        }
      ],
      "name": "settleFeedRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "internalType": "address",
          "name": "solver",
          "type": "address"
        },
        {
          "internalType": "string[]",
          "name": "deps",
          "type": "string[]"
        }
      ],
      "name": "settleFeedSolver",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupDecimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceSolver",
      "outputs": [
        {
          "internalType": "address",
          "name": "_solverAddress",
          "type": "address"
        },
        {
          "internalType": "string[]",
          "name": "_solverDeps",
          "type": "string[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint64",
              "name": "value",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus",
              "name": "latestStatus",
              "type": "uint8"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacySolver.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4[]",
          "name": "feedIds",
          "type": "bytes4[]"
        }
      ],
      "name": "latestPrices",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint64",
              "name": "value",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus",
              "name": "latestStatus",
              "type": "uint8"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacySolver.Price[]",
          "name": "_prices",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "initcode",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "constructorParams",
          "type": "bytes"
        }
      ],
      "name": "deployPriceSolver",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "initcode",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "constructorParams",
          "type": "bytes"
        }
      ],
      "name": "determinePriceSolverAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "_address",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "feedId",
          "type": "bytes32"
        }
      ],
      "name": "valueFor",
      "outputs": [
        {
          "internalType": "int256",
          "name": "_value",
          "type": "int256"
        },
        {
          "internalType": "uint256",
          "name": "_timestamp",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_status",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract WitOracle\",\"name\":\"_witOracle\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_versionTag\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"_upgradable\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"solver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"codehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructorParams\",\"type\":\"bytes\"}],\"name\":\"NewPriceFeedsSolver\",\"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\":false,\"internalType\":\"address\",\"name\":\"evmOrigin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmSender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"erc2362Id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"witOracleQueryId\",\"type\":\"uint256\"}],\"name\":\"PullingUpdate\",\"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\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"WitFeedDeleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"}],\"name\":\"WitFeedSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"solver\",\"type\":\"address\"}],\"name\":\"WitFeedSolverSettled\",\"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\":\"baseFeeOverheadPercentage\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"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\":\"dataType\",\"outputs\":[{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultRadonSLA\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"minConsensusPercentage\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"witnessCollateral\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"minerCommitRevealFee\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitPriceFeedsLegacy.RadonSLAv1\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"}],\"name\":\"deleteFeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteFeeds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initcode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"constructorParams\",\"type\":\"bytes\"}],\"name\":\"deployPriceSolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initcode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"constructorParams\",\"type\":\"bytes\"}],\"name\":\"determinePriceSolverAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_evmGasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateUpdateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"footprint\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"_footprint\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lastValidQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lastValidQueryResponse\",\"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\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"value\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum IWitPriceFeedsLegacySolver.LatestUpdateStatus\",\"name\":\"latestStatus\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitPriceFeedsLegacySolver.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"feedIds\",\"type\":\"bytes4[]\"}],\"name\":\"latestPrices\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"value\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum IWitPriceFeedsLegacySolver.LatestUpdateStatus\",\"name\":\"latestStatus\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitPriceFeedsLegacySolver.Price[]\",\"name\":\"_prices\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateQueryRequest\",\"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\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResponse\",\"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\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResponseStatus\",\"outputs\":[{\"internalType\":\"enum IWitOracleLegacy.QueryResponseStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResultError\",\"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\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupCaption\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceSolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_solverAddress\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"_solverDeps\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupWitnetBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupWitnetRadHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupWitnetRetrievals\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"argsCount\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonRetrievalMethods\",\"name\":\"method\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"radonScript\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonRetrieval[]\",\"name\":\"_retrievals\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"requestUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitPriceFeedsLegacy.RadonSLAv2\",\"name\":\"legacySLA\",\"type\":\"tuple\"}],\"name\":\"requestUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_baseFeeOverheadPercentage\",\"type\":\"uint16\"}],\"name\":\"settleBaseFeeOverheadPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitPriceFeedsLegacy.RadonSLAv2\",\"name\":\"radonSLAv2\",\"type\":\"tuple\"}],\"name\":\"settleDefaultRadonSLA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"}],\"name\":\"settleFeedRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"internalType\":\"contract IWitOracleRequest\",\"name\":\"request\",\"type\":\"address\"}],\"name\":\"settleFeedRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"internalType\":\"contract IWitOracleRequestTemplate\",\"name\":\"template\",\"type\":\"address\"},{\"internalType\":\"string[][]\",\"name\":\"args\",\"type\":\"string[][]\"}],\"name\":\"settleFeedRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"solver\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"deps\",\"type\":\"string[]\"}],\"name\":\"settleFeedSolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supportedFeeds\",\"outputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"_ids\",\"type\":\"bytes4[]\"},{\"internalType\":\"string[]\",\"name\":\"_captions\",\"type\":\"string[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"_solvers\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"}],\"name\":\"supportsCaption\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalFeeds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"feedId\",\"type\":\"bytes32\"}],\"name\":\"valueFor\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_status\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnet\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Guillermo D\\u00edaz <guillermo@witnet.io>\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address,address,bytes32,string)\":{\"params\":{\"baseAddr\":\"The address of the new implementation contract.\",\"baseCodehash\":\"The EVM-codehash of the new implementation contract.\",\"from\":\"The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\",\"versionTag\":\"Ascii-encoded version literal with which the implementation deployer decided to tag it.\"}}},\"kind\":\"dev\",\"methods\":{\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\"},\"footprint()\":{\"details\":\"Ergo, `footprint()` changes if any data source is modified, or the dependecy treeon any routed price feed is altered.\"},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isUpgradable()\":{\"details\":\"Determines whether the logic of this contract is potentially upgradable.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"}},\"title\":\"WitPriceFeeds: Price Feeds upgradable repository reliant on the Wit/Oracle blockchain.\",\"version\":1},\"userdoc\":{\"events\":{\"PullingUpdate(address,address,bytes4,uint256)\":{\"notice\":\"A fresh update on the data feed identified as `erc2364Id4` has just been  requested and paid for by some `evmSender`, under command of the  `evmOrigin` externally owned account. \"},\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"}},\"kind\":\"user\",\"methods\":{\"class()\":{\"notice\":\"Returns the name of the actual contract implementing the logic of this Witnet appliance.\"},\"dataType()\":{\"notice\":\"Primitive data type produced by successful data updates of all supported feeds (e.g. Witnet.RadonDataTypes.Integer in WitPriceFeeds).\"},\"defaultRadonSLA()\":{\"notice\":\"=============================================================================================================== --- IWitFeedsLegacy -------------------------------------------------------------------------------------------\"},\"footprint()\":{\"notice\":\"Returns unique hash determined by the combination of data sources being usedon non-routed price feeds, and dependencies of routed price feeds.\"},\"hash(string)\":{\"notice\":\"This pure function determines the ERC-2362 identifier of the given data feed  caption string, truncated to bytes4.\"},\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy.\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"lastValidQueryId(bytes4)\":{\"notice\":\"Returns the query id (in the context of the WitOracle addressed by witOracle())  that solved the most recently updated value for the given feed.\"},\"lastValidQueryResponse(bytes4)\":{\"notice\":\"Returns the actual response from the Witnet oracle blockchain to the last  successful update for the given data feed.\"},\"latestUpdateQueryId(bytes4)\":{\"notice\":\"Returns the Witnet query id of the latest update attempt for the given data feed.\"},\"latestUpdateQueryRequest(bytes4)\":{\"notice\":\"Returns the actual request queried to the the Witnet oracle blockchain on the latest  update attempt for the given data feed.\"},\"prefix()\":{\"notice\":\"ERC-2362 caption prefix shared by all supported feeds (e.g. \\\"Price-\\\" in WitPriceFeeds).\"},\"requestUpdate(bytes4)\":{\"notice\":\"Triggers a fresh update on the Witnet oracle blockchain for the given data feed,  using the defaultRadonSLA() security parameters.\"},\"specs()\":{\"notice\":\"Returns the ERC-165 id of the minimal functionality expected for this appliance.\"},\"supportedFeeds()\":{\"notice\":\"Returns the list of feed ERC-2362 ids, captions and RAD hashes of all currently supported  data feeds. The RAD hash of a data feed determines in a verifiable way the actual data sources  and off-chain computations solved by the Witnet oracle blockchain upon every data update.  The RAD hash value for a routed feed actually contains the address of the IWitnetPriceSolver  logic contract that solves it.\"},\"totalFeeds()\":{\"notice\":\"Total number of data feeds, routed or not, that are currently supported.\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"},\"witOracle()\":{\"notice\":\"Returns the WitOracle address that this appliance is bound to.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/apps/WitPriceFeedsLegacyUpgradable.sol\":\"WitPriceFeedsLegacyUpgradable\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"ado-contracts/contracts/interfaces/IERC2362.sol\":{\"keccak256\":\"0x4df66aa83b94d7c3d52aba3522b6eeafc19f2c45299b7c871ef46eb199ee4f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0af92023c38ab97a95fb7e2a196a697cfc1d90bb1b8bfe73e0ba69cbb7a8f5ab\",\"dweb:/ipfs/QmVSBWxe2QCZvAxiuTfEwprK9MbDtFNptoWeMBbmUcwQnx\"]},\"project:/contracts/WitOracle.sol\":{\"keccak256\":\"0x7f20eab15140df459753dfa8e406b826918b56ebe2c46456f9d04345c02629d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0573ce3d48200c71d8235a1a8c055b706420b2037bd21336f3c61713c3b8349\",\"dweb:/ipfs/QmY7BnVaNXFtJs1BFdeaa7dQfvUVoZyfwtv9HuToCxUUHU\"]},\"project:/contracts/WitPriceFeedsLegacy.sol\":{\"keccak256\":\"0xc6ba1350b77e0fda49b76b36c53804d9c1e98045e7e80f5e7d975458870014ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c09ecba1953749dbe414e55b47cd176c597563d9629f281b75f87d5a11f2db8d\",\"dweb:/ipfs/QmYyhGAqwss5DdSsBFVQJ9FxrDGSTQe3orL76Lmyod4Yiu\"]},\"project:/contracts/apps/WitPriceFeedsLegacyUpgradable.sol\":{\"keccak256\":\"0xb4c9f48469b6979aa2c9f03792c13590da853d6d645a450959d298c431117494\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0792081d94e8cca45595842ee4937e6ae61d0d3040180d64e39949fc51632540\",\"dweb:/ipfs/QmSW4M7soL8YW67qrrh74Z8nGUmR4tcumiFfAaPHwMFd8R\"]},\"project:/contracts/core/WitnetProxy.sol\":{\"keccak256\":\"0x6f0ec2c544192c9439bde88f5ed4efec5bdef506cb0dcb739c29329a798033fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca05338334632aab3aef3c17a4b8686251ec488da49b9fcd3712642e57e0ce2a\",\"dweb:/ipfs/QmZk1uDdytKFii4TXUnJkFBBB3CZVSPKKR85ugFjWUTufS\"]},\"project:/contracts/core/WitnetUpgradableBase.sol\":{\"keccak256\":\"0x4cea0415b77897e151454ce87c1e20b7dc9f232de72b54a6740c90e076f7e1b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0b803611c3a863ac5806b16e7d2a48b0e062fece262c750d121b5e9e17eb082\",\"dweb:/ipfs/QmVhFt1TkbkZ48jLsN5LgnpzpTdoMbfqGyMSJxjaEqisht\"]},\"project:/contracts/data/WitPriceFeedsLegacyDataLib.sol\":{\"keccak256\":\"0xd4eab3434b51c88c628faa9ff042122762f40d082002b0c1e8ccd167635452e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dc424d929cb930bb3f5da94117ab284b2b6062337e55d5a49034b4a8158fd22\",\"dweb:/ipfs/QmPXeUcbtSKK8gApymg7wwKSqRY3mMDB8RS643vofWCeMo\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0x26cbe2074c0b3f545a46d95fad5e2280b67edcd958e4ae0b88f3a018aa11b805\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5324bac61f65e3edb01c88b9b75ca17affd593be88da5753a93b3f5304d3f479\",\"dweb:/ipfs/QmcVmNV6smbFiPaxvuN8ShkqbDZsT1wfjnF7f3qs6ke7QG\"]},\"project:/contracts/interfaces/IWitOracleAppliance.sol\":{\"keccak256\":\"0xcd8e57eca7f8042c85a83264e2ff6d1cd7a9f1521831736d7f57bcc7800642e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c639668e9439d60770b5df77436088ae7bd0aeb1d1be446552a98b6c29138f0\",\"dweb:/ipfs/QmbN3f5YuKMSd2j9tjay3VEkiYibGWpbfbwRNyrxA8k4o4\"]},\"project:/contracts/interfaces/IWitOracleQueriable.sol\":{\"keccak256\":\"0xdb0da1e377a35a7d620f43cb583a876750a52d91da2b888f48042483ad9c4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edfcdf3e96ec3c5de7438f82e3d5a1dc9af9eb29080044213dccb26ff978354c\",\"dweb:/ipfs/Qmap2FzSysh2fug88eortbsTM7itFygRzKc9HfV43ePMik\"]},\"project:/contracts/interfaces/IWitOracleQueriableEvents.sol\":{\"keccak256\":\"0x47c283e931006d35bd2599524f86724e45eae6fad2fdd9cdecd1c85a90ff3f8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ad0520f99ec9298536ae9434f58caeb470c10dd3eaab1e4c7ed4cae9a97e2a2\",\"dweb:/ipfs/QmSuYCsSPweZfQc5Fbf9jYDdx4u7gwYCUdjhpcrrxmWZy6\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/legacy/IWitOracleLegacy.sol\":{\"keccak256\":\"0xd2929c9aa5a02d261d6d1a068a6b7231ae58d8f81f081ba89f2d3267a31fbbb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://956b26323a02cf400c32012586954fc5dbc98b4d5b7a8b0533401cbda8619059\",\"dweb:/ipfs/QmSWdCRwL5t3atFM8osdaohLTqEEmY1FbnR6xrRCmw1GDM\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequest.sol\":{\"keccak256\":\"0x0fb3f0ba03f4f7a0214ecb36df26525564cf51a8a2176cba92c185af8a1d419e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://340b7bdb92c3259519fe120eb3061b393e7a5e9c1b576a2fe4eab020af466b64\",\"dweb:/ipfs/QmRt4wMX9WdxFwfdFMUZ3zKMAW1grS7qLk1x1PDMJdEAVU\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequestTemplate.sol\":{\"keccak256\":\"0x9e065ef5880c64eefff5fcfb1347fde6684e0e311f8c2350a6aefdbd1f8b0f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://817de760c7cce9d00dcd4312aea6434d88abddf1c0e68ea7e8fb1e6c5165a445\",\"dweb:/ipfs/QmUNmtn85nFXbje2nRJQY2h65KJCVinDMMU6P2jQmo1Nij\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacy.sol\":{\"keccak256\":\"0x13222d4ec5a538477e792ff63338a12db2c0071d81a61aad7a046ad2880cefd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f564e6a69264f7e0679525022978f9833a0f1273ef606e554c2a18ba964d13\",\"dweb:/ipfs/QmaAVfsvnJQvYwdsnYSXAnbJWopp15PR3atXxCwZS3AANC\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacyAdmin.sol\":{\"keccak256\":\"0x2a2a422478348acb0ced6e76dbc14dacbfec95833f874ecb588718523117fb0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dcb6d3802e68441cb944f69ae5ba0e00b9ca82ad97f9adfaff5ffd44e0a6aae2\",\"dweb:/ipfs/QmYFvuGH6cUwhW67thWDMLfNcenicKcMgicLTnNAG4LHM7\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacySolver.sol\":{\"keccak256\":\"0x9543c5a64bbd38a3d1af6d00badda31c8c1fc90412efc7894023277e1e6b7490\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab133acd1c20af1f676bf17017c77e4918338fdbad764660e42d892a5f412eaf\",\"dweb:/ipfs/QmeQFGuv3jm46R4bux8NaW56SbFWHvvBNCqFzfafgtWi1W\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacySolverFactory.sol\":{\"keccak256\":\"0xdb0b2588d715db0193f0906e664bbd69193328cd4bdaae0a649e42c454736fe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f11087814a6020388db71d5ebe3c3def5642c77c540ea5b4101aaff6920d5444\",\"dweb:/ipfs/QmYnDq2uAjxqfmHEcG3rZRvz7FRfGiWqfStUMRqhBk8vax\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/Slices.sol\":{\"keccak256\":\"0x9d046fa558be922c9625a1fdc470f6e68b3c9b5745b6185cb4a4fc59181fa006\",\"license\":\"APACHE-2.0\",\"urls\":[\"bzz-raw://ab19ba09faf83aaa92947f0a0907f6522be89279a9a1b0e53d5393a23085947d\",\"dweb:/ipfs/QmeE9MwhpSFNTwyqDFpMFjftrJKR1edBhLjV3bdKQQHUVm\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x1d446c3e534e40e676d1763bfb2897fadfac8afed904ab757843d7d6770b0a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://338fb1073f17d64e8d31bfe492d9475ce906788ee08e6489ce30413f91dc1328\",\"dweb:/ipfs/QmPe5QX2AGTnQFjse1Xttq4ZYWwYAiXoySb5VUui3PqPhk\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]},\"project:/contracts/patterns/Initializable.sol\":{\"keccak256\":\"0xaac470e87f361cf15d68d1618d6eb7d4913885d33ccc39c797841a9591d44296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef3760b2039feda8715d4bd9f8de8e3885f25573d12ba92f52d626ba880a08bf\",\"dweb:/ipfs/QmP2mfHPBKkjTAKft95sPDb4PBsjfmAwc47Kdcv3xYSf3g\"]},\"project:/contracts/patterns/Ownable.sol\":{\"keccak256\":\"0x494bda32f9a218d9c33ea82112129c0933ab52f57eabfbf0d14a8742a3370800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c4cf04ebb052fed9d15cf93ff4523955ee311aa4425ee85f0e80b4489c94e76\",\"dweb:/ipfs/QmfMf4WD7woTaQSTbJxxoan2aXSeY7ovY5NoipSBw5rMPK\"]},\"project:/contracts/patterns/Ownable2Step.sol\":{\"keccak256\":\"0x45ed9d1f98e2a7a5bd1a7040dbd4292f1458fa1cb212d0143718684efa436bd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45d347c5ef492b33dcf3953bb3911fe7160a6c812e69ed84d2511f0847e19229\",\"dweb:/ipfs/QmZp3icE2gQBoJp8KorWC1GfGC8mK29sK9fEveKRMNCY1U\"]},\"project:/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]},\"project:/contracts/patterns/ReentrancyGuard.sol\":{\"keccak256\":\"0x1470caf4bd78b79f706e28a8a85c95a6e13ec33eda04275e5da84464130831e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c974fb4dc29718a84f9ab5fa3f8c25c7f889050a38445e16c3ead5ff9d4b4bab\",\"dweb:/ipfs/QmbuGjkSjngbTZMRPijL9p56fP9cK5jMnWsFmvYAQj3qAY\"]},\"project:/contracts/patterns/Upgradeable.sol\":{\"keccak256\":\"0x49d1a83abc7a9b39d224677dde65ead4b7f1104332a94c9e619854b2a6b3a89e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6a798a953af921a5b4e24e3f78bebae97819a85c90deb12ec505952faa42814\",\"dweb:/ipfs/QmVJhv4x3MXf4aDbMC5Q259K8kZNvxSXzmy8anoow7nS7k\"]}},\"version\":1}",
  "bytecode": "0x6101c060405260046080526550726963652d60d01b60a0523361014052348015610027575f5ffd5b5060405161508c38038061508c833981016040819052610046916102cf565b60408051808201909152601f81527f696f2e7769746e65742e70726f786961626c652e66656564732e7072696365006020820152819083908233806100a557604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100ae816101e6565b503060c052151561010052600160025561012091909152805160209182012061016052604080518082019091526011815270696e6578697374656e74206f7261636c6560781b9181019190915261011391506001600160a01b0385163b151590610202565b6101d2637cd906ed60e11b636d11bc5160e11b186001600160e01b031916846001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561016d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610191919061031e565b6001600160e01b0319161460405180604001604052806012815260200171756e636f6d706c69616e74206f7261636c6560701b81525061020260201b60201c565b50506001600160a01b0316610180526103c1565b600180546001600160a01b03191690556101ff81610214565b50565b816102105761021081610263565b5050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051808201909152601d81527f576974507269636546656564734c656761637955706772616461626c650000006020820152816040516020016102a9929190610363565b60408051601f198184030181529082905262461bcd60e51b825261009c9160040161038c565b5f5f5f606084860312156102e1575f5ffd5b83516001600160a01b03811681146102f7575f5ffd5b6020850151604086015191945092508015158114610313575f5ffd5b809150509250925092565b5f6020828403121561032e575f5ffd5b81516001600160e01b031981168114610345575f5ffd5b9392505050565b5f81518060208401855e5f93019283525090919050565b5f61036e828561034c565b6101d160f51b8152610383600282018561034c565b95945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051614bd66104b65f395f50505f81816104bf0152818161056601528181610d70015281816112560152818161142c01528181611ca201528181611eca01528181611efc01528181611fb4015281816121640152818161278e01528181612b8f0152612f4201525f61062501525f610ade01525f6113b701525f818161065501526114f801525f50505f81816105f001528181610925015281816110e2015281816111530152818161119a01526111bc01525f8181610e2e01526115f801525f81816106f501526116b10152614bd65ff3fe60806040526004361061034f575f3560e01c80638da5cb5b116101c5578063d3471e34116100f6578063f14cb81211610094578063f9f34bb61161006e578063f9f34bb614610c21578063fae91a5114610c4d578063ff24fb4f14610c6c578063ff75890f14610c8b5761034f565b8063f14cb81214610b9c578063f2fde38b14610bc8578063f78eea8314610be75761034f565b8063e1c9e3c0116100d0578063e1c9e3c014610b33578063e30c397814610b47578063eb92b29b14610b5b578063ef1dff2b14610b7d5761034f565b8063d3471e3414610aae578063d5f3948814610acd578063d6a3614f14610b005761034f565b8063b411ee9411610163578063c064d3721161013d578063c064d37214610a18578063c3d98ea814610a37578063c5010d1714610a63578063cfae692914610a825761034f565b8063b411ee9414610995578063b8d38c96146109b4578063bff852fa146109d35761034f565b8063a9e954b91161019f578063a9e954b914610917578063abc86c6e1461094a578063ac82c6081461095d578063adb7c3f71461097c5761034f565b80638da5cb5b146108bd5780638df3fdfd146108d9578063a55b471c146108f85761034f565b806354fd4d501161029f578063715018a61161023d578063806d7e8f11610217578063806d7e8f1461082657806384292f071461085257806386ac03e0146108715780638a416ea9146108905761034f565b8063715018a6146107ea57806375dadb32146107fe57806379ba5097146108125761034f565b80636175ff00116102795780636175ff00146106e45780636ab221f8146107245780636b58960a146107555780636d1178e5146107745761034f565b806354fd4d50146106855780635be93984146106995780635c0d9d80146106b85761034f565b8063439fab911161030c5780634efef9c0116102e65780634efef9c0146105b65780635001f3b5146105e257806352d1902d146106145780635479d940146106475761034f565b8063439fab911461053957806346d1d21a1461055857806349492ef11461058a5761034f565b8063029db9581461043a5780630306732e1461046c57806303f3813d1461048f5780631014d375146104ae578063384ac938146104f95780633e088e1214610526575b34801561035a575f5ffd5b505f356001600160e01b03191663e0d20f7360e01b14801561037b57503330145b15610408575f6103a160206103903684613333565b6001600160c01b031916901b610caa565b6006015460408051808201909152601081526f3ab739b2ba3a3632b21039b7b63b32b960811b60208201526001600160a01b0390911691506103e69082151590610ce3565b604051365f82375f5f3683855af43d805f843e818015610404578184f35b8184fd5b6104386040518060400160405280600f81526020016e1b9bdd081a5b5c1b195b595b9d1959608a1b815250610cf5565b005b348015610445575f5ffd5b5061045961045436600461337e565b610d6a565b6040519081526020015b60405180910390f35b348015610477575f5ffd5b50610480610d9b565b60405161046393929190613421565b34801561049a575f5ffd5b506104386104a9366004613556565b610e18565b3480156104b9575f5ffd5b506104e17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610463565b348015610504575f5ffd5b5061051861051336600461337e565b610fb1565b6040516104639291906135d6565b61045961053436600461337e565b610fc6565b348015610544575f5ffd5b50610438610553366004613713565b61100c565b348015610563575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000006104e1565b348015610595575f5ffd5b506105a96105a436600461337e565b611240565b6040516104639190613757565b3480156105c1575f5ffd5b506105d56105d036600461337e565b6112eb565b604051610463919061377e565b3480156105ed575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000006104e1565b34801561061f575f5ffd5b506104597f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040519015158152602001610463565b348015610690575f5ffd5b506105d56113b0565b3480156106a4575f5ffd5b506104596106b336600461337e565b6113e0565b3480156106c3575f5ffd5b506106d76106d236600461337e565b6113f4565b6040516104639190613790565b3480156106ef575f5ffd5b506107177f000000000000000000000000000000000000000000000000000000000000000081565b604051610463919061380a565b34801561072f575f5ffd5b5061074361073e36600461337e565b6114ca565b60405160ff9091168152602001610463565b348015610760575f5ffd5b5061067561076f366004613818565b6114e1565b34801561077f575f5ffd5b5061078861153a565b60405161046391905f60a08201905060ff835116825260ff60208401511660208301526001600160401b0360408401511660408301526001600160401b0360608401511660608301526001600160401b03608084015116608083015292915050565b3480156107f5575f5ffd5b506104386115de565b348015610809575f5ffd5b506105d56115f1565b34801561081d575f5ffd5b5061043861161c565b348015610831575f5ffd5b5061084561084036600461337e565b611624565b60405161046391906138c0565b34801561085d575f5ffd5b5061043861086c3660046139b1565b6116a4565b34801561087c575f5ffd5b5061043861088b3660046139f8565b611873565b34801561089b575f5ffd5b506108a4611948565b6040516001600160e01b03199091168152602001610463565b3480156108c8575f5ffd5b505f546001600160a01b03166104e1565b3480156108e4575f5ffd5b506104596108f336600461337e565b611a46565b348015610903575f5ffd5b506104e1610912366004613a36565b611a5a565b348015610922575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f610459565b610459610958366004613ab0565b611b9e565b348015610968575f5ffd5b50610438610977366004613ae4565b611bbf565b348015610987575f5ffd5b506331f74adb60e11b6108a4565b3480156109a0575f5ffd5b506108a46109af366004613713565b611c2c565b3480156109bf575f5ffd5b506104386109ce366004613b45565b611c3a565b3480156109de575f5ffd5b5060408051808201909152601d81527f576974507269636546656564734c656761637955706772616461626c6500000060208201526105d5565b348015610a23575f5ffd5b50610459610a32366004613b60565b611c5a565b348015610a42575f5ffd5b50610a56610a5136600461337e565b611c64565b6040516104639190613bc1565b348015610a6e575f5ffd5b50610675610a7d3660046139f8565b611da7565b348015610a8d575f5ffd5b50610aa1610a9c36600461337e565b611e9f565b6040516104639190613bcf565b348015610ab9575f5ffd5b50610aa1610ac836600461337e565b611f89565b348015610ad8575f5ffd5b506104e17f000000000000000000000000000000000000000000000000000000000000000081565b348015610b0b575f5ffd5b507fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d20054610459565b348015610b3e575f5ffd5b50610438611fea565b348015610b52575f5ffd5b506104e16120b5565b348015610b66575f5ffd5b5060045460405161ffff9091168152602001610463565b348015610b88575f5ffd5b506105d5610b9736600461337e565b6120c8565b348015610ba7575f5ffd5b50610bbb610bb636600461337e565b612161565b6040516104639190613c3a565b348015610bd3575f5ffd5b50610438610be2366004613818565b6121f7565b348015610bf2575f5ffd5b50610c06610c01366004613b60565b612208565b60408051938452602084019290925290820152606001610463565b348015610c2c575f5ffd5b50610c40610c3b366004613c54565b612292565b6040516104639190613c86565b348015610c58575f5ffd5b50610438610c67366004613cd3565b612367565b348015610c77575f5ffd5b50610438610c86366004613556565b612443565b348015610c96575f5ffd5b506104e1610ca5366004613a36565b61249a565b6001600160e01b0319165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d2016020526040902090565b81610cf157610cf181610cf5565b5050565b60408051808201909152601d81527f576974507269636546656564734c656761637955706772616461626c65000000602082015281604051602001610d3b929190613d04565b60408051601f198184030181529082905262461bcd60e51b8252610d619160040161377e565b60405180910390fd5b5f610d957f000000000000000000000000000000000000000000000000000000000000000083612524565b92915050565b606080606073__WitPriceFeedsLegacyDataLib____________630306732e6040518163ffffffff1660e01b81526004015f60405180830381865af4158015610de6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e0d9190810190613e9e565b925092509250909192565b610e206125d1565b610e936001600160d01b03197f000000000000000000000000000000000000000000000000000000000000000016610e588688613f97565b6001600160d01b03191614604051806040016040528060128152602001710c4c2c840c6c2e0e8d2dedc40e0e4caccd2f60731b815250610ce3565b6040805180820190915260118152706e6f20736f6c766572206164647265737360781b6020820152610ed1906001600160a01b038516151590610ce3565b6040516303f3813d60e01b815273__WitPriceFeedsLegacyDataLib____________906303f3813d90610f109088908890889088908890600401614036565b5f6040518083038186803b158015610f26575f5ffd5b505af4925050508015610f37575060015b610faa57610f436140c4565b806308c379a003610f715750610f576140dc565b80610f625750610f73565b610f6b81610cf5565b50610faa565b505b3d808015610f9c576040519150601f19603f3d011682016040523d82523d5f602084013e610fa1565b606091505b50610f6b6125fd565b5050505050565b5f6060610fbd8361260d565b91509150915091565b6040805160608101825260035461ffff808216835262010000820416602083015264010000000090046001600160401b0316918101919091525f90610d95908390612763565b5f546001600160a01b0316806110425781806020019051810190611030919061415e565b9250905061103d816129e6565b61108a565b336001600160a01b0382161461108a5760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b6044820152606401610d61565b611093826129ff565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061110457507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156111515760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f646568617368000000006044820152606401610d61565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111f55f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66112276113b0565b604051611234919061377e565b60405180910390a45050565b604080518082019091525f8152606060208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a77fc1a461128c846113e0565b6040518263ffffffff1660e01b81526004016112aa91815260200190565b5f60405180830381865afa1580156112c4573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d9591908101906141c4565b60605f6112f783610caa565b905061132f81600501545f5f1b14156040518060400160405280600b81526020016a0dcde40a4828840d0c2e6d60ab1b815250610ce3565b611337612b8c565b6001600160a01b0316638a22776482600501546040518263ffffffff1660e01b815260040161136891815260200190565b5f60405180830381865afa158015611382573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113a99190810190614245565b9392505050565b60606113db7f0000000000000000000000000000000000000000000000000000000000000000612c0d565b905090565b5f6113ea82610caa565b6004015492915050565b61142a60405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a667533f611462846113e0565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526024015f60405180830381865afa1580156114a3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d959190810190614276565b5f6114d482610caa565b6001015460ff1692915050565b5f5f6114f45f546001600160a01b031690565b90507f000000000000000000000000000000000000000000000000000000000000000080156113a95750826001600160a01b0316816001600160a01b0316149392505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526003546040805160a08101825262010000830460ff8116808352603360208401526401000000009094046001600160401b031692820183905261ffff169260608201906115b19084614331565b6001600160401b031681526020016115cc60ff851684614367565b6001600160401b031690529392505050565b6115e66125d1565b6115ef5f6129e6565b565b60606113db7f0000000000000000000000000000000000000000000000000000000000000000612cae565b6115ef612d4f565b606061162e612b8c565b6001600160a01b03166377c1125961164584611a46565b6040518263ffffffff1660e01b815260040161166391815260200190565b5f60405180830381865afa15801561167d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d95919081019061449b565b6116ac6125d1565b6117997f000000000000000000000000000000000000000000000000000000000000000060138111156116e1576116e16137e2565b6116e9612b8c565b6001600160a01b0316634c729104846040518263ffffffff1660e01b815260040161171691815260200190565b602060405180830381865afa158015611731573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117559190614648565b6013811115611766576117666137e2565b146040518060400160405280601481526020017362616420726573756c742064617461207479706560601b815250610ce3565b6040516384292f0760e01b815273__WitPriceFeedsLegacyDataLib____________906384292f07906117d490869086908690600401614661565b5f6040518083038186803b1580156117ea575f5ffd5b505af49250505080156117fb575060015b61186e576118076140c4565b806308c379a003611835575061181b6140dc565b806118265750611837565b61182f81610cf5565b50505050565b505b3d808015611860576040519150601f19603f3d011682016040523d82523d5f602084013e611865565b606091505b5061182f6125fd565b505050565b61187b6125d1565b604051630435601f60e51b815273__WitPriceFeedsLegacyDataLib____________906386ac03e0906118b49085908590600401614684565b5f6040518083038186803b1580156118ca575f5ffd5b505af49250505080156118db575060015b610cf1576118e76140c4565b806308c379a00361190f57506118fb6140dc565b806119065750611911565b61186e81610cf5565b505b3d80801561193a576040519150601f19603f3d011682016040523d82523d5f602084013e61193f565b606091505b5061186e6125fd565b7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d200545f9015611a43576119cf7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff6001015f815481106119a9576119a9614697565b905f5260205f2090600891828204019190066004029054906101000a900460e01b612dca565b905060015b7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d20054811015611a4157611a357fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff60010182815481106119a9576119a9614697565b909118906001016119d4565b505b90565b5f611a5082610caa565b6005015492915050565b5f611a636125d1565b604051632956d1c760e21b815273__WitPriceFeedsLegacyDataLib____________9063a55b471c90611aa09088908890889088906004016146ab565b602060405180830381865af4925050508015611ad9575060408051601f3d908101601f19168201909252611ad6918101906146dc565b60015b611b4c57611ae56140c4565b806308c379a003611b135750611af96140dc565b80611b045750611b15565b611b0d81610cf5565b50611b96565b505b3d808015611b3e576040519150601f19603f3d011682016040523d82523d5f602084013e611b43565b606091505b50611b0d6125fd565b7f18678abae9a91a452648053bebd7d23122fb9204cddc206fa8193750abb8940f81826001600160a01b03163f8686604051611b8b94939291906146f7565b60405180910390a190505b949350505050565b5f6113a983611bba611bb53686900386018661473c565b612e53565b612763565b611bc76125d1565b61186e8383836001600160a01b0316631eef90526040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c08573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086c9190614781565b805160208201205f90610d95565b611c426125d1565b6004805461ffff191661ffff92909216919091179055565b5f610d9582612f26565b611c8b604080516080810182525f8082526020820181905291810182905290606082015290565b6040516384ee241160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201526001600160e01b03198316602482015273__WitPriceFeedsLegacyDataLib____________906384ee241190604401608060405180830381865af4925050508015611d2f575060408051601f3d908101601f19168201909252611d2c91810190614798565b60015b610d9557611d3b6140c4565b806308c379a003611d695750611d4f6140dc565b80611d5a5750611d6b565b611d6381610cf5565b50919050565b505b3d808015611d94576040519150601f19603f3d011682016040523d82523d5f602084013e611d99565b606091505b50611d636125fd565b919050565b5f5f611de784848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611c2c92505050565b90506001600160e01b03198116611e8c611e0083610caa565b8054611e0b906147fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611e37906147fd565b8015611e825780601f10611e5957610100808354040283529160200191611e82565b820191905f5260205f20905b815481529060010190602001808311611e6557829003601f168201915b5050505050611c2c565b6001600160e01b03191614949350505050565b6040805160a0810182525f8082526020820181905291810182905260608082015260808101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ca7da98b611f217f000000000000000000000000000000000000000000000000000000000000000085612524565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526024015f60405180830381865afa158015611f62573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d95919081019061482f565b6040805160a0810182525f8082526020820181905291810182905260608082015260808101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ca7da98b611f21846113e0565b611ff26125d1565b73__WitPriceFeedsLegacyDataLib____________63e1c9e3c06040518163ffffffff1660e01b81526004015f6040518083038186803b158015612034575f5ffd5b505af4925050508015612045575060015b6115ef576120516140c4565b806308c379a00361207c57506120656140dc565b80612070575061207e565b61207981610cf5565b50565b505b3d8080156120a7576040519150601f19603f3d011682016040523d82523d5f602084013e6120ac565b606091505b506120796125fd565b5f6113db6001546001600160a01b031690565b60606120d382610caa565b80546120de906147fd565b80601f016020809104026020016040519081016040528092919081815260200182805461210a906147fd565b80156121555780601f1061212c57610100808354040283529160200191612155565b820191905f5260205f20905b81548152906001019060200180831161213857829003601f168201915b50505050509050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663234fe6e361219a846113e0565b6040518263ffffffff1660e01b81526004016121b891815260200190565b602060405180830381865afa1580156121d3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9591906148e4565b6121ff6125d1565b61207981612fe1565b5f5f5f5f61221585611c64565b805160208201519192506001600160401b031690600283606001516003811115612241576122416137e2565b146122735760018360600151600381111561225e5761225e6137e2565b1461226b57610190612276565b610194612276565b60c85b9195506001600160401b0316935061ffff169150509193909250565b6060816001600160401b038111156122ac576122ac6135f9565b60405190808252806020026020018201604052801561230457816020015b6122f1604080516080810182525f8082526020820181905291810182905290606082015290565b8152602001906001900390816122ca5790505b5090505f5b828110156123605761233b84848381811061232657612326614697565b9050602002016020810190610a51919061337e565b82828151811061234d5761234d614697565b6020908102919091010152600101612309565b5092915050565b61236f6125d1565b61237c6020820182614902565b6003805463ffff0000191660ff9290921662010000029190911790556123a8604082016020830161491d565b600380546001600160401b039283166401000000009081026bffffffffffffffff000000001983168117938490556040805160608101825261ffff92831694831694909417845262010000850490911660208401529204909216908201526120799061241390613012565b60405180604001604052806012815260200171696e76616c69642075706461746520534c4160701b815250610ce3565b61244b6125d1565b610faa8585856001600160a01b031663bf7a0bd386866040518363ffffffff1660e01b815260040161247e92919061498d565b6020604051808303815f875af1158015611c08573d5f5f3e3d5ffd5b6040516001628a76f160e01b031981525f9073__WitPriceFeedsLegacyDataLib____________9063ff75890f906124dc9088908890889088906004016146ab565b602060405180830381865af41580156124f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061251b91906146dc565b95945050505050565b5f61252e82610caa565b6004015490508015806125b857505f604051634cddf61560e01b8152600481018390526001600160a01b03851690634cddf61590602401602060405180830381865afa158015612580573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a49190614a2e565b60ff8111156125b5576125b56137e2565b14155b15610d95576125c682610caa565b600301549392505050565b5f546001600160a01b031633146115ef5760405163118cdaa760e01b8152336004820152602401610d61565b6115ef61260861304d565b610cf5565b5f606061261983610caa565b600601546001600160a01b031691505f612632846130a9565b905080516001600160401b0381111561264d5761264d6135f9565b60405190808252806020026020018201604052801561268057816020015b606081526020019060019003908161266b5790505b5091505f5b815181101561275c576126b08282815181106126a3576126a3614697565b6020026020010151610caa565b80546126bb906147fd565b80601f01602080910402602001604051908101604052809291908181526020018280546126e7906147fd565b80156127325780601f1061270957610100808354040283529160200191612732565b820191905f5260205f20905b81548152906001019060200180831161271557829003601f168201915b505050505083828151811061274957612749614697565b6020908102919091010152600101612685565b5050915091565b5f61276d83610caa565b600501541561295c57604080516303f8890160e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201526001600160e01b031985166024820152835161ffff90811660448301526020850151166064820152908301516001600160401b031660848201523460a482018190529073__WitPriceFeedsLegacyDataLib____________906307f112029060c4016040805180830381865af492505050801561284d575060408051601f3d908101601f1916820190925261284a91810190614a4d565b60015b6128c0576128596140c4565b806308c379a003612887575061286d6140dc565b806128785750612889565b61288181610cf5565b50612956565b505b3d8080156128b2576040519150601f19603f3d011682016040523d82523d5f602084013e6128b7565b606091505b506128816125fd565b348110156128fd57336108fc6128d68334614a6f565b6040518115909202915f818181858888f193505050501580156128fb573d5f5f3e3d5ffd5b505b604080513281523360208201526001600160e01b03198816818301526060810184905290517f0bd652a116bb5006c2e07594e8a3fe9b5ba51acf6cd9572568913fda51ad26c49181900360800190a19250610d95915050565b50610d95565b5f61296684610caa565b600601546001600160a01b0316146129b9576129b2612984846130a9565b6040518060400160405280856020015160ff16815260200185604001516001600160401b0316815250613191565b9050610d95565b610d956040518060400160405280600c81526020016b1d5b9adb9bdddb881999595960a21b815250610cf5565b600180546001600160a01b031916905561207981613274565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54612a76576040805160608101825260108152600360208201819052630bebc20091909201528054670bebc200000300106bffffffffffffffffffffffff199091161790556004805461ffff1916600a17905550565b805115612b05575f5f82806020019051810190612a939190614a82565b6004805461ffff93841661ffff1990911617905580516003805460208401516040909401516001600160401b0316640100000000026bffffffffffffffff0000000019948616620100000263ffffffff1990921693909516929092179190911791909116919091179055506120799050565b6040805160608101825260035461ffff808216835262010000820416602083015264010000000090046001600160401b031691810191909152612b4790613012565b61207957506040805160608101825260108152600360208201819052630bebc200919092015280546bffffffffffffffffffffffff1916670bebc20000030010179055565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015612be9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113db91906146dc565b60605f612c19836132c3565b6001600160401b03811115612c3057612c306135f9565b6040519080825280601f01601f191660200182016040528015612c5a576020820181803683370190505b5090505f5b815181101561236057838160208110612c7a57612c7a614697565b1a60f81b828281518110612c9057612c90614697565b60200101906001600160f81b03191690815f1a905350600101612c5f565b60605f612cba836132fb565b6001600160401b03811115612cd157612cd16135f9565b6040519080825280601f01601f191660200182016040528015612cfb576020820181803683370190505b5090505f5b815181101561236057838160208110612d1b57612d1b614697565b1a60f81b828281518110612d3157612d31614697565b60200101906001600160f81b03191690815f1a905350600101612d00565b3380612d596120b5565b6001600160a01b031614612dc15760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610d61565b612079816129e6565b5f80612dd583610caa565b6005015414612e255781612de883610caa565b60050154604080516001600160e01b031990931660208401528201526060015b604051602081830303815290604052805190602001209050919050565b81612e2f83610caa565b60080154604080516001600160e01b03199093166020840152820152606001612e08565b604080516060810182525f808252602082018190529181019190915260035482516201000090910461ffff1660ff90911610801590612ead575060035460208301516001600160401b036401000000009092048216911610155b15612ee857506040805160608101825260035461ffff168152825160ff16602080830191909152909201516001600160401b03169082015290565b611da26040518060400160405280601781526020017f756e736563757265207570646174652072657175657374000000000000000000815250610cf5565b6004545f90606490612f3c9061ffff1682614b19565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166339a8653e856040518263ffffffff1660e01b8152600401612f8e91815260200190565b602060405180830381865afa158015612fa9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fcd9190614781565b612fd79190614b33565b610d959190614b4a565b612fe96125d1565b6001600160a01b038116612dc157604051631e4fbdf760e01b81525f6004820152602401610d61565b5f5f826020015161ffff161180156130335750607f826020015161ffff1611155b8015610d95575050604001516001600160401b0316151590565b606060405180604001604052601a8152806020017f576974507269636546656564734c6567616379446174614c69620000000000008152506040516020016130959190614b5d565b604051602081830303815290604052905090565b6001600160e01b031981165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d20160209081526040918290206008908101548351828152610120810190945260609390929091908201610100803683370190505091505f5b6008811015613189578183828151811061312c5761312c614697565b60200260200101906001600160e01b03191690816001600160e01b0319168152505082818151811061316057613160614697565b60209081029190910101516001600160e01b0319161561318957602082901b9150600101613110565b825250919050565b5f5f8351346131a09190614b4a565b90505f5b845181101561326c57306001600160a01b031663abc86c6e838784815181106131cf576131cf614697565b6020908102919091018101516040516001600160e01b031960e086901b811682529091166004820152885160ff166024820152908801516001600160401b0316604482015260640160206040518083038185885af1158015613233573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906132589190614781565b6132629084614b8d565b92506001016131a4565b505092915050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015611da2578181602081106132e0576132e0614697565b1a60f81b6001600160f81b03191615611da2576001016132c5565b5f5b6020811015611da25781816020811061331857613318614697565b1a60f81b6001600160f81b03191615611da2576001016132fd565b80356001600160c01b03198116906008841015612360576001600160c01b031960089490940360031b84901b1690921692915050565b6001600160e01b031981168114612079575f5ffd5b5f6020828403121561338e575f5ffd5b81356113a981613369565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561341557601f198584030188526133ff838351613399565b60209889019890935091909101906001016133e3565b50909695505050505050565b606080825284519082018190525f9060208601906080840190835b818110156134645783516001600160e01b03191683526020938401939092019160010161343c565b5050838103602085015261347881876133c7565b848103604086015285518082526020808801945090910191505f5b818110156134b1578351835260209384019390920191600101613493565b5090979650505050505050565b5f5f83601f8401126134ce575f5ffd5b5081356001600160401b038111156134e4575f5ffd5b6020830191508360208285010111156134fb575f5ffd5b9250929050565b6001600160a01b0381168114612079575f5ffd5b5f5f83601f840112613526575f5ffd5b5081356001600160401b0381111561353c575f5ffd5b6020830191508360208260051b85010111156134fb575f5ffd5b5f5f5f5f5f6060868803121561356a575f5ffd5b85356001600160401b0381111561357f575f5ffd5b61358b888289016134be565b909650945050602086013561359f81613502565b925060408601356001600160401b038111156135b9575f5ffd5b6135c588828901613516565b969995985093965092949392505050565b6001600160a01b03831681526040602082018190525f90611b96908301846133c7565b634e487b7160e01b5f52604160045260245ffd5b604081018181106001600160401b038211171561362c5761362c6135f9565b60405250565b608081018181106001600160401b038211171561362c5761362c6135f9565b60a081018181106001600160401b038211171561362c5761362c6135f9565b601f8201601f191681016001600160401b0381118282101715613695576136956135f9565b6040525050565b604051611a4360e082613670565b5f6001600160401b038211156136c2576136c26135f9565b50601f01601f191660200190565b5f6136da836136aa565b6040516136e78282613670565b8092508481528585850111156136fb575f5ffd5b848460208301375f6020868301015250509392505050565b5f60208284031215613723575f5ffd5b81356001600160401b03811115613738575f5ffd5b8201601f81018413613748575f5ffd5b611b96848235602084016136d0565b6020815260ff82511660208201525f6020830151604080840152611b966060840182613399565b602081525f6113a96020830184613399565b6020815260018060a01b03825116602082015262ffffff60208301511660408201525f6040830151608060608401526137cc60a0840182613399565b9050606084015160808401528091505092915050565b634e487b7160e01b5f52602160045260245ffd5b60148110613806576138066137e2565b9052565b60208101610d9582846137f6565b5f60208284031215613828575f5ffd5b81356113a981613502565b60058110613806576138066137e2565b5f82825180855260208501945060208160051b830101602085015f5b8381101561341557848303601f19018852815183604081015f5b60028110156138a7578682038352613892828551613399565b60209485019493909301929150600101613879565b5060209a8b019a9095509390930192505060010161385f565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156139a557603f19878603018452815160ff815116865260208101516139126020880182613833565b50604081015161392560408801826137f6565b50606081015160e0606088015261393f60e0880182613399565b9050608082015187820360808901526139588282613399565b91505060a082015187820360a08901526139728282613843565b91505060c0820151915086810360c088015261398e8183613399565b9650505060209384019391909101906001016138e6565b50929695505050505050565b5f5f5f604084860312156139c3575f5ffd5b83356001600160401b038111156139d8575f5ffd5b6139e4868287016134be565b909790965060209590950135949350505050565b5f5f60208385031215613a09575f5ffd5b82356001600160401b03811115613a1e575f5ffd5b613a2a858286016134be565b90969095509350505050565b5f5f5f5f60408587031215613a49575f5ffd5b84356001600160401b03811115613a5e575f5ffd5b613a6a878288016134be565b90955093505060208501356001600160401b03811115613a88575f5ffd5b613a94878288016134be565b95989497509550505050565b5f60408284031215611d63575f5ffd5b5f5f60608385031215613ac1575f5ffd5b8235613acc81613369565b9150613adb8460208501613aa0565b90509250929050565b5f5f5f60408486031215613af6575f5ffd5b83356001600160401b03811115613b0b575f5ffd5b613b17868287016134be565b9094509250506020840135613b2b81613502565b809150509250925092565b61ffff81168114612079575f5ffd5b5f60208284031215613b55575f5ffd5b81356113a981613b36565b5f60208284031215613b70575f5ffd5b5035919050565b6001600160401b0381511682526001600160401b03602082015116602083015260408101516040830152606081015160048110613bb657613bb66137e2565b806060840152505050565b60808101610d958284613b77565b6020815260018060a01b0382511660208201526001600160401b036020830151166040820152604082015160608201525f606083015160a06080840152613c1960c0840182613399565b608094909401516001600160a01b031660a093909301929092525090919050565b6020810160078310613c4e57613c4e6137e2565b91905290565b5f5f60208385031215613c65575f5ffd5b82356001600160401b03811115613c7a575f5ffd5b613a2a85828601613516565b602080825282518282018190525f918401906040840190835b81811015613cc857613cb2838551613b77565b6020939093019260809290920191600101613c9f565b509095945050505050565b5f60408284031215613ce3575f5ffd5b6113a98383613aa0565b5f81518060208401855e5f93019283525090919050565b5f613d0f8285613ced565b6101d160f51b815261251b6002820185613ced565b5f6001600160401b03821115613d3c57613d3c6135f9565b5060051b60200190565b5f82601f830112613d55575f5ffd5b8151602083015f613d65836136aa565b604051613d728282613670565b809250848152878585011115613d86575f5ffd5b8484602083015e5f60208683010152809550505050505092915050565b5f82601f830112613db2575f5ffd5b8151613dbd81613d24565b604051613dca8282613670565b80915082815260208101915060208360051b860101925085831115613ded575f5ffd5b602085015b83811015613e2d5780516001600160401b03811115613e0f575f5ffd5b613e1e886020838a0101613d46565b84525060209283019201613df2565b5095945050505050565b5f82601f830112613e46575f5ffd5b8151613e5181613d24565b604051613e5e8282613670565b80915082815260208101915060208360051b860101925085831115613e81575f5ffd5b602085015b83811015613e2d578051835260209283019201613e86565b5f5f5f60608486031215613eb0575f5ffd5b83516001600160401b03811115613ec5575f5ffd5b8401601f81018613613ed5575f5ffd5b8051613ee081613d24565b604051613eed8282613670565b80915082815260208101915060208360051b850101925088831115613f10575f5ffd5b6020840193505b82841015613f3b578351613f2a81613369565b825260209384019390910190613f17565b8096505050505060208401516001600160401b03811115613f5a575f5ffd5b613f6686828701613da3565b92505060408401516001600160401b03811115613f81575f5ffd5b613f8d86828701613e37565b9150509250925092565b80356001600160d01b03198116906006841015612360576001600160d01b031960069490940360031b84901b1690921692915050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f5f8335601e1984360301811261400a575f5ffd5b83016020810192503590506001600160401b03811115614028575f5ffd5b8036038213156134fb575f5ffd5b606081525f614049606083018789613fcd565b6001600160a01b038616602084810191909152838203604085015284825281810190600586901b830101865f5b878110156140b457848303601f19018452614091828a613ff5565b61409c858284613fcd565b60209687019690955093909301925050600101614076565b50909a9950505050505050505050565b5f60033d1115611a435760045f5f3e505f5160e01c90565b5f60443d10156140e95790565b6040513d600319016004823e80513d60248201116001600160401b038211171561411257505090565b80820180516001600160401b0381111561412d575050505090565b3d8401600319018282016020011115614147575050505090565b61415660208285010185613670565b509392505050565b5f5f6040838503121561416f575f5ffd5b825161417a81613502565b60208401519092506001600160401b03811115614195575f5ffd5b6141a185828601613d46565b9150509250929050565b60ff81168114612079575f5ffd5b8051611da2816141ab565b5f602082840312156141d4575f5ffd5b81516001600160401b038111156141e9575f5ffd5b8201604081850312156141fa575f5ffd5b6040516142068161360d565b8151614211816141ab565b815260208201516001600160401b0381111561422b575f5ffd5b61423786828501613d46565b602083015250949350505050565b5f60208284031215614255575f5ffd5b81516001600160401b0381111561426a575f5ffd5b611b9684828501613d46565b5f60208284031215614286575f5ffd5b81516001600160401b0381111561429b575f5ffd5b8201608081850312156142ac575f5ffd5b6040516142b881613632565b81516142c381613502565b8152602082015162ffffff811681146142da575f5ffd5b602082015260408201516001600160401b038111156142f7575f5ffd5b61430386828501613d46565b604083015250606091820151918101919091529392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821602908116908181146123605761236061431d565b634e487b7160e01b5f52601260045260245ffd5b5f6001600160401b0383168061437f5761437f614353565b806001600160401b0384160491505092915050565b805160058110611da2575f5ffd5b805160148110611da2575f5ffd5b5f82601f8301126143bf575f5ffd5b81516143ca81613d24565b6040516143d78282613670565b80915082815260208101915060208360051b8601019250858311156143fa575f5ffd5b602085015b83811015613e2d5780516001600160401b0381111561441c575f5ffd5b8601603f8101881361442c575f5ffd5b6040516144388161360d565b80606083018a811115614449575f5ffd5b602084015b818110156144895780516001600160401b0381111561446b575f5ffd5b61447a8d602083890101613d46565b8452506020928301920161444e565b505050845250602092830192016143ff565b5f602082840312156144ab575f5ffd5b81516001600160401b038111156144c0575f5ffd5b8201601f810184136144d0575f5ffd5b80516144db81613d24565b6040516144e88282613670565b80915082815260208101915060208360051b85010192508683111561450b575f5ffd5b602084015b8381101561463d5780516001600160401b0381111561452d575f5ffd5b850160e0818a03601f19011215614542575f5ffd5b61454a61369c565b614556602083016141b9565b815261456460408301614394565b6020820152614575606083016143a2565b604082015260808201516001600160401b03811115614592575f5ffd5b6145a18b602083860101613d46565b60608301525060a08201516001600160401b038111156145bf575f5ffd5b6145ce8b602083860101613d46565b60808301525060c08201516001600160401b038111156145ec575f5ffd5b6145fb8b6020838601016143b0565b60a08301525060e08201516001600160401b03811115614619575f5ffd5b6146288b602083860101613d46565b60c08301525084525060209283019201614510565b509695505050505050565b5f60208284031215614658575f5ffd5b6113a9826143a2565b604081525f614674604083018587613fcd565b9050826020830152949350505050565b602081525f611b96602083018486613fcd565b634e487b7160e01b5f52603260045260245ffd5b604081525f6146be604083018688613fcd565b82810360208401526146d1818587613fcd565b979650505050505050565b5f602082840312156146ec575f5ffd5b81516113a981613502565b60018060a01b0385168152836020820152606060408201525f61471e606083018486613fcd565b9695505050505050565b6001600160401b0381168114612079575f5ffd5b5f604082840312801561474d575f5ffd5b5060405161475a8161360d565b8235614765816141ab565b8152602083013561477581614728565b60208201529392505050565b5f60208284031215614791575f5ffd5b5051919050565b5f60808284031280156147a9575f5ffd5b506040516147b681613632565b82516147c181614728565b815260208301516147d181614728565b6020820152604083810151908201526060830151600481106147f1575f5ffd5b60608201529392505050565b600181811c9082168061481157607f821691505b602082108103611d6357634e487b7160e01b5f52602260045260245ffd5b5f6020828403121561483f575f5ffd5b81516001600160401b03811115614854575f5ffd5b820160a08185031215614865575f5ffd5b60405161487181613651565b815161487c81613502565b8152602082015161488c81614728565b60208201526040828101519082015260608201516001600160401b038111156148b3575f5ffd5b6148bf86828501613d46565b606083015250608082015191506148d582613502565b60808101919091529392505050565b5f602082840312156148f4575f5ffd5b8151600781106113a9575f5ffd5b5f60208284031215614912575f5ffd5b81356113a9816141ab565b5f6020828403121561492d575f5ffd5b81356113a981614728565b5f8383855260208501945060208460051b820101835f5b8681101561341557838303601f1901885261496a8287613ff5565b614975858284613fcd565b60209a8b019a9095509390930192505060010161494f565b602080825281018290525f6040600584901b830181019083018583601e1936839003015b87821015614a2157868503603f1901845282358181126149cf575f5ffd5b89016020810190356001600160401b038111156149ea575f5ffd5b8060051b36038213156149fb575f5ffd5b614a06878284614938565b965050506020830192506020840193506001820191506149b1565b5092979650505050505050565b5f60208284031215614a3e575f5ffd5b815161010081106113a9575f5ffd5b5f5f60408385031215614a5e575f5ffd5b505080516020909101519092909150565b81810381811115610d9557610d9561431d565b5f5f8284036080811215614a94575f5ffd5b8351614a9f81613b36565b92506060601f1982011215614ab2575f5ffd5b50604051606081018181106001600160401b0382111715614ad557614ad56135f9565b6040526020840151614ae681613b36565b81526040840151614af681613b36565b60208201526060840151614b0981614728565b6040820152919491935090915050565b61ffff8181168382160190811115610d9557610d9561431d565b8082028115828204841417610d9557610d9561431d565b5f82614b5857614b58614353565b500490565b5f614b688284613ced565b741d103ab73430b7323632b21030b9b9b2b93a34b7b760591b81526015019392505050565b80820180821115610d9557610d9561431d56fea2646970667358221220d3498114df3f482873f3852a09846f3fae071b30006cc54544419481cbe85bbe64736f6c634300081e0033",
  "deployedBytecode": "0x60806040526004361061034f575f3560e01c80638da5cb5b116101c5578063d3471e34116100f6578063f14cb81211610094578063f9f34bb61161006e578063f9f34bb614610c21578063fae91a5114610c4d578063ff24fb4f14610c6c578063ff75890f14610c8b5761034f565b8063f14cb81214610b9c578063f2fde38b14610bc8578063f78eea8314610be75761034f565b8063e1c9e3c0116100d0578063e1c9e3c014610b33578063e30c397814610b47578063eb92b29b14610b5b578063ef1dff2b14610b7d5761034f565b8063d3471e3414610aae578063d5f3948814610acd578063d6a3614f14610b005761034f565b8063b411ee9411610163578063c064d3721161013d578063c064d37214610a18578063c3d98ea814610a37578063c5010d1714610a63578063cfae692914610a825761034f565b8063b411ee9414610995578063b8d38c96146109b4578063bff852fa146109d35761034f565b8063a9e954b91161019f578063a9e954b914610917578063abc86c6e1461094a578063ac82c6081461095d578063adb7c3f71461097c5761034f565b80638da5cb5b146108bd5780638df3fdfd146108d9578063a55b471c146108f85761034f565b806354fd4d501161029f578063715018a61161023d578063806d7e8f11610217578063806d7e8f1461082657806384292f071461085257806386ac03e0146108715780638a416ea9146108905761034f565b8063715018a6146107ea57806375dadb32146107fe57806379ba5097146108125761034f565b80636175ff00116102795780636175ff00146106e45780636ab221f8146107245780636b58960a146107555780636d1178e5146107745761034f565b806354fd4d50146106855780635be93984146106995780635c0d9d80146106b85761034f565b8063439fab911161030c5780634efef9c0116102e65780634efef9c0146105b65780635001f3b5146105e257806352d1902d146106145780635479d940146106475761034f565b8063439fab911461053957806346d1d21a1461055857806349492ef11461058a5761034f565b8063029db9581461043a5780630306732e1461046c57806303f3813d1461048f5780631014d375146104ae578063384ac938146104f95780633e088e1214610526575b34801561035a575f5ffd5b505f356001600160e01b03191663e0d20f7360e01b14801561037b57503330145b15610408575f6103a160206103903684613333565b6001600160c01b031916901b610caa565b6006015460408051808201909152601081526f3ab739b2ba3a3632b21039b7b63b32b960811b60208201526001600160a01b0390911691506103e69082151590610ce3565b604051365f82375f5f3683855af43d805f843e818015610404578184f35b8184fd5b6104386040518060400160405280600f81526020016e1b9bdd081a5b5c1b195b595b9d1959608a1b815250610cf5565b005b348015610445575f5ffd5b5061045961045436600461337e565b610d6a565b6040519081526020015b60405180910390f35b348015610477575f5ffd5b50610480610d9b565b60405161046393929190613421565b34801561049a575f5ffd5b506104386104a9366004613556565b610e18565b3480156104b9575f5ffd5b506104e17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610463565b348015610504575f5ffd5b5061051861051336600461337e565b610fb1565b6040516104639291906135d6565b61045961053436600461337e565b610fc6565b348015610544575f5ffd5b50610438610553366004613713565b61100c565b348015610563575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000006104e1565b348015610595575f5ffd5b506105a96105a436600461337e565b611240565b6040516104639190613757565b3480156105c1575f5ffd5b506105d56105d036600461337e565b6112eb565b604051610463919061377e565b3480156105ed575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000006104e1565b34801561061f575f5ffd5b506104597f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040519015158152602001610463565b348015610690575f5ffd5b506105d56113b0565b3480156106a4575f5ffd5b506104596106b336600461337e565b6113e0565b3480156106c3575f5ffd5b506106d76106d236600461337e565b6113f4565b6040516104639190613790565b3480156106ef575f5ffd5b506107177f000000000000000000000000000000000000000000000000000000000000000081565b604051610463919061380a565b34801561072f575f5ffd5b5061074361073e36600461337e565b6114ca565b60405160ff9091168152602001610463565b348015610760575f5ffd5b5061067561076f366004613818565b6114e1565b34801561077f575f5ffd5b5061078861153a565b60405161046391905f60a08201905060ff835116825260ff60208401511660208301526001600160401b0360408401511660408301526001600160401b0360608401511660608301526001600160401b03608084015116608083015292915050565b3480156107f5575f5ffd5b506104386115de565b348015610809575f5ffd5b506105d56115f1565b34801561081d575f5ffd5b5061043861161c565b348015610831575f5ffd5b5061084561084036600461337e565b611624565b60405161046391906138c0565b34801561085d575f5ffd5b5061043861086c3660046139b1565b6116a4565b34801561087c575f5ffd5b5061043861088b3660046139f8565b611873565b34801561089b575f5ffd5b506108a4611948565b6040516001600160e01b03199091168152602001610463565b3480156108c8575f5ffd5b505f546001600160a01b03166104e1565b3480156108e4575f5ffd5b506104596108f336600461337e565b611a46565b348015610903575f5ffd5b506104e1610912366004613a36565b611a5a565b348015610922575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f610459565b610459610958366004613ab0565b611b9e565b348015610968575f5ffd5b50610438610977366004613ae4565b611bbf565b348015610987575f5ffd5b506331f74adb60e11b6108a4565b3480156109a0575f5ffd5b506108a46109af366004613713565b611c2c565b3480156109bf575f5ffd5b506104386109ce366004613b45565b611c3a565b3480156109de575f5ffd5b5060408051808201909152601d81527f576974507269636546656564734c656761637955706772616461626c6500000060208201526105d5565b348015610a23575f5ffd5b50610459610a32366004613b60565b611c5a565b348015610a42575f5ffd5b50610a56610a5136600461337e565b611c64565b6040516104639190613bc1565b348015610a6e575f5ffd5b50610675610a7d3660046139f8565b611da7565b348015610a8d575f5ffd5b50610aa1610a9c36600461337e565b611e9f565b6040516104639190613bcf565b348015610ab9575f5ffd5b50610aa1610ac836600461337e565b611f89565b348015610ad8575f5ffd5b506104e17f000000000000000000000000000000000000000000000000000000000000000081565b348015610b0b575f5ffd5b507fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d20054610459565b348015610b3e575f5ffd5b50610438611fea565b348015610b52575f5ffd5b506104e16120b5565b348015610b66575f5ffd5b5060045460405161ffff9091168152602001610463565b348015610b88575f5ffd5b506105d5610b9736600461337e565b6120c8565b348015610ba7575f5ffd5b50610bbb610bb636600461337e565b612161565b6040516104639190613c3a565b348015610bd3575f5ffd5b50610438610be2366004613818565b6121f7565b348015610bf2575f5ffd5b50610c06610c01366004613b60565b612208565b60408051938452602084019290925290820152606001610463565b348015610c2c575f5ffd5b50610c40610c3b366004613c54565b612292565b6040516104639190613c86565b348015610c58575f5ffd5b50610438610c67366004613cd3565b612367565b348015610c77575f5ffd5b50610438610c86366004613556565b612443565b348015610c96575f5ffd5b506104e1610ca5366004613a36565b61249a565b6001600160e01b0319165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d2016020526040902090565b81610cf157610cf181610cf5565b5050565b60408051808201909152601d81527f576974507269636546656564734c656761637955706772616461626c65000000602082015281604051602001610d3b929190613d04565b60408051601f198184030181529082905262461bcd60e51b8252610d619160040161377e565b60405180910390fd5b5f610d957f000000000000000000000000000000000000000000000000000000000000000083612524565b92915050565b606080606073__WitPriceFeedsLegacyDataLib____________630306732e6040518163ffffffff1660e01b81526004015f60405180830381865af4158015610de6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e0d9190810190613e9e565b925092509250909192565b610e206125d1565b610e936001600160d01b03197f000000000000000000000000000000000000000000000000000000000000000016610e588688613f97565b6001600160d01b03191614604051806040016040528060128152602001710c4c2c840c6c2e0e8d2dedc40e0e4caccd2f60731b815250610ce3565b6040805180820190915260118152706e6f20736f6c766572206164647265737360781b6020820152610ed1906001600160a01b038516151590610ce3565b6040516303f3813d60e01b815273__WitPriceFeedsLegacyDataLib____________906303f3813d90610f109088908890889088908890600401614036565b5f6040518083038186803b158015610f26575f5ffd5b505af4925050508015610f37575060015b610faa57610f436140c4565b806308c379a003610f715750610f576140dc565b80610f625750610f73565b610f6b81610cf5565b50610faa565b505b3d808015610f9c576040519150601f19603f3d011682016040523d82523d5f602084013e610fa1565b606091505b50610f6b6125fd565b5050505050565b5f6060610fbd8361260d565b91509150915091565b6040805160608101825260035461ffff808216835262010000820416602083015264010000000090046001600160401b0316918101919091525f90610d95908390612763565b5f546001600160a01b0316806110425781806020019051810190611030919061415e565b9250905061103d816129e6565b61108a565b336001600160a01b0382161461108a5760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b6044820152606401610d61565b611093826129ff565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061110457507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156111515760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f646568617368000000006044820152606401610d61565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111f55f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66112276113b0565b604051611234919061377e565b60405180910390a45050565b604080518082019091525f8152606060208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a77fc1a461128c846113e0565b6040518263ffffffff1660e01b81526004016112aa91815260200190565b5f60405180830381865afa1580156112c4573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d9591908101906141c4565b60605f6112f783610caa565b905061132f81600501545f5f1b14156040518060400160405280600b81526020016a0dcde40a4828840d0c2e6d60ab1b815250610ce3565b611337612b8c565b6001600160a01b0316638a22776482600501546040518263ffffffff1660e01b815260040161136891815260200190565b5f60405180830381865afa158015611382573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113a99190810190614245565b9392505050565b60606113db7f0000000000000000000000000000000000000000000000000000000000000000612c0d565b905090565b5f6113ea82610caa565b6004015492915050565b61142a60405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a667533f611462846113e0565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526024015f60405180830381865afa1580156114a3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d959190810190614276565b5f6114d482610caa565b6001015460ff1692915050565b5f5f6114f45f546001600160a01b031690565b90507f000000000000000000000000000000000000000000000000000000000000000080156113a95750826001600160a01b0316816001600160a01b0316149392505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526003546040805160a08101825262010000830460ff8116808352603360208401526401000000009094046001600160401b031692820183905261ffff169260608201906115b19084614331565b6001600160401b031681526020016115cc60ff851684614367565b6001600160401b031690529392505050565b6115e66125d1565b6115ef5f6129e6565b565b60606113db7f0000000000000000000000000000000000000000000000000000000000000000612cae565b6115ef612d4f565b606061162e612b8c565b6001600160a01b03166377c1125961164584611a46565b6040518263ffffffff1660e01b815260040161166391815260200190565b5f60405180830381865afa15801561167d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d95919081019061449b565b6116ac6125d1565b6117997f000000000000000000000000000000000000000000000000000000000000000060138111156116e1576116e16137e2565b6116e9612b8c565b6001600160a01b0316634c729104846040518263ffffffff1660e01b815260040161171691815260200190565b602060405180830381865afa158015611731573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117559190614648565b6013811115611766576117666137e2565b146040518060400160405280601481526020017362616420726573756c742064617461207479706560601b815250610ce3565b6040516384292f0760e01b815273__WitPriceFeedsLegacyDataLib____________906384292f07906117d490869086908690600401614661565b5f6040518083038186803b1580156117ea575f5ffd5b505af49250505080156117fb575060015b61186e576118076140c4565b806308c379a003611835575061181b6140dc565b806118265750611837565b61182f81610cf5565b50505050565b505b3d808015611860576040519150601f19603f3d011682016040523d82523d5f602084013e611865565b606091505b5061182f6125fd565b505050565b61187b6125d1565b604051630435601f60e51b815273__WitPriceFeedsLegacyDataLib____________906386ac03e0906118b49085908590600401614684565b5f6040518083038186803b1580156118ca575f5ffd5b505af49250505080156118db575060015b610cf1576118e76140c4565b806308c379a00361190f57506118fb6140dc565b806119065750611911565b61186e81610cf5565b505b3d80801561193a576040519150601f19603f3d011682016040523d82523d5f602084013e61193f565b606091505b5061186e6125fd565b7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d200545f9015611a43576119cf7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff6001015f815481106119a9576119a9614697565b905f5260205f2090600891828204019190066004029054906101000a900460e01b612dca565b905060015b7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d20054811015611a4157611a357fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff60010182815481106119a9576119a9614697565b909118906001016119d4565b505b90565b5f611a5082610caa565b6005015492915050565b5f611a636125d1565b604051632956d1c760e21b815273__WitPriceFeedsLegacyDataLib____________9063a55b471c90611aa09088908890889088906004016146ab565b602060405180830381865af4925050508015611ad9575060408051601f3d908101601f19168201909252611ad6918101906146dc565b60015b611b4c57611ae56140c4565b806308c379a003611b135750611af96140dc565b80611b045750611b15565b611b0d81610cf5565b50611b96565b505b3d808015611b3e576040519150601f19603f3d011682016040523d82523d5f602084013e611b43565b606091505b50611b0d6125fd565b7f18678abae9a91a452648053bebd7d23122fb9204cddc206fa8193750abb8940f81826001600160a01b03163f8686604051611b8b94939291906146f7565b60405180910390a190505b949350505050565b5f6113a983611bba611bb53686900386018661473c565b612e53565b612763565b611bc76125d1565b61186e8383836001600160a01b0316631eef90526040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c08573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086c9190614781565b805160208201205f90610d95565b611c426125d1565b6004805461ffff191661ffff92909216919091179055565b5f610d9582612f26565b611c8b604080516080810182525f8082526020820181905291810182905290606082015290565b6040516384ee241160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201526001600160e01b03198316602482015273__WitPriceFeedsLegacyDataLib____________906384ee241190604401608060405180830381865af4925050508015611d2f575060408051601f3d908101601f19168201909252611d2c91810190614798565b60015b610d9557611d3b6140c4565b806308c379a003611d695750611d4f6140dc565b80611d5a5750611d6b565b611d6381610cf5565b50919050565b505b3d808015611d94576040519150601f19603f3d011682016040523d82523d5f602084013e611d99565b606091505b50611d636125fd565b919050565b5f5f611de784848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611c2c92505050565b90506001600160e01b03198116611e8c611e0083610caa565b8054611e0b906147fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611e37906147fd565b8015611e825780601f10611e5957610100808354040283529160200191611e82565b820191905f5260205f20905b815481529060010190602001808311611e6557829003601f168201915b5050505050611c2c565b6001600160e01b03191614949350505050565b6040805160a0810182525f8082526020820181905291810182905260608082015260808101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ca7da98b611f217f000000000000000000000000000000000000000000000000000000000000000085612524565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526024015f60405180830381865afa158015611f62573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d95919081019061482f565b6040805160a0810182525f8082526020820181905291810182905260608082015260808101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ca7da98b611f21846113e0565b611ff26125d1565b73__WitPriceFeedsLegacyDataLib____________63e1c9e3c06040518163ffffffff1660e01b81526004015f6040518083038186803b158015612034575f5ffd5b505af4925050508015612045575060015b6115ef576120516140c4565b806308c379a00361207c57506120656140dc565b80612070575061207e565b61207981610cf5565b50565b505b3d8080156120a7576040519150601f19603f3d011682016040523d82523d5f602084013e6120ac565b606091505b506120796125fd565b5f6113db6001546001600160a01b031690565b60606120d382610caa565b80546120de906147fd565b80601f016020809104026020016040519081016040528092919081815260200182805461210a906147fd565b80156121555780601f1061212c57610100808354040283529160200191612155565b820191905f5260205f20905b81548152906001019060200180831161213857829003601f168201915b50505050509050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663234fe6e361219a846113e0565b6040518263ffffffff1660e01b81526004016121b891815260200190565b602060405180830381865afa1580156121d3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9591906148e4565b6121ff6125d1565b61207981612fe1565b5f5f5f5f61221585611c64565b805160208201519192506001600160401b031690600283606001516003811115612241576122416137e2565b146122735760018360600151600381111561225e5761225e6137e2565b1461226b57610190612276565b610194612276565b60c85b9195506001600160401b0316935061ffff169150509193909250565b6060816001600160401b038111156122ac576122ac6135f9565b60405190808252806020026020018201604052801561230457816020015b6122f1604080516080810182525f8082526020820181905291810182905290606082015290565b8152602001906001900390816122ca5790505b5090505f5b828110156123605761233b84848381811061232657612326614697565b9050602002016020810190610a51919061337e565b82828151811061234d5761234d614697565b6020908102919091010152600101612309565b5092915050565b61236f6125d1565b61237c6020820182614902565b6003805463ffff0000191660ff9290921662010000029190911790556123a8604082016020830161491d565b600380546001600160401b039283166401000000009081026bffffffffffffffff000000001983168117938490556040805160608101825261ffff92831694831694909417845262010000850490911660208401529204909216908201526120799061241390613012565b60405180604001604052806012815260200171696e76616c69642075706461746520534c4160701b815250610ce3565b61244b6125d1565b610faa8585856001600160a01b031663bf7a0bd386866040518363ffffffff1660e01b815260040161247e92919061498d565b6020604051808303815f875af1158015611c08573d5f5f3e3d5ffd5b6040516001628a76f160e01b031981525f9073__WitPriceFeedsLegacyDataLib____________9063ff75890f906124dc9088908890889088906004016146ab565b602060405180830381865af41580156124f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061251b91906146dc565b95945050505050565b5f61252e82610caa565b6004015490508015806125b857505f604051634cddf61560e01b8152600481018390526001600160a01b03851690634cddf61590602401602060405180830381865afa158015612580573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a49190614a2e565b60ff8111156125b5576125b56137e2565b14155b15610d95576125c682610caa565b600301549392505050565b5f546001600160a01b031633146115ef5760405163118cdaa760e01b8152336004820152602401610d61565b6115ef61260861304d565b610cf5565b5f606061261983610caa565b600601546001600160a01b031691505f612632846130a9565b905080516001600160401b0381111561264d5761264d6135f9565b60405190808252806020026020018201604052801561268057816020015b606081526020019060019003908161266b5790505b5091505f5b815181101561275c576126b08282815181106126a3576126a3614697565b6020026020010151610caa565b80546126bb906147fd565b80601f01602080910402602001604051908101604052809291908181526020018280546126e7906147fd565b80156127325780601f1061270957610100808354040283529160200191612732565b820191905f5260205f20905b81548152906001019060200180831161271557829003601f168201915b505050505083828151811061274957612749614697565b6020908102919091010152600101612685565b5050915091565b5f61276d83610caa565b600501541561295c57604080516303f8890160e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201526001600160e01b031985166024820152835161ffff90811660448301526020850151166064820152908301516001600160401b031660848201523460a482018190529073__WitPriceFeedsLegacyDataLib____________906307f112029060c4016040805180830381865af492505050801561284d575060408051601f3d908101601f1916820190925261284a91810190614a4d565b60015b6128c0576128596140c4565b806308c379a003612887575061286d6140dc565b806128785750612889565b61288181610cf5565b50612956565b505b3d8080156128b2576040519150601f19603f3d011682016040523d82523d5f602084013e6128b7565b606091505b506128816125fd565b348110156128fd57336108fc6128d68334614a6f565b6040518115909202915f818181858888f193505050501580156128fb573d5f5f3e3d5ffd5b505b604080513281523360208201526001600160e01b03198816818301526060810184905290517f0bd652a116bb5006c2e07594e8a3fe9b5ba51acf6cd9572568913fda51ad26c49181900360800190a19250610d95915050565b50610d95565b5f61296684610caa565b600601546001600160a01b0316146129b9576129b2612984846130a9565b6040518060400160405280856020015160ff16815260200185604001516001600160401b0316815250613191565b9050610d95565b610d956040518060400160405280600c81526020016b1d5b9adb9bdddb881999595960a21b815250610cf5565b600180546001600160a01b031916905561207981613274565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54612a76576040805160608101825260108152600360208201819052630bebc20091909201528054670bebc200000300106bffffffffffffffffffffffff199091161790556004805461ffff1916600a17905550565b805115612b05575f5f82806020019051810190612a939190614a82565b6004805461ffff93841661ffff1990911617905580516003805460208401516040909401516001600160401b0316640100000000026bffffffffffffffff0000000019948616620100000263ffffffff1990921693909516929092179190911791909116919091179055506120799050565b6040805160608101825260035461ffff808216835262010000820416602083015264010000000090046001600160401b031691810191909152612b4790613012565b61207957506040805160608101825260108152600360208201819052630bebc200919092015280546bffffffffffffffffffffffff1916670bebc20000030010179055565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015612be9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113db91906146dc565b60605f612c19836132c3565b6001600160401b03811115612c3057612c306135f9565b6040519080825280601f01601f191660200182016040528015612c5a576020820181803683370190505b5090505f5b815181101561236057838160208110612c7a57612c7a614697565b1a60f81b828281518110612c9057612c90614697565b60200101906001600160f81b03191690815f1a905350600101612c5f565b60605f612cba836132fb565b6001600160401b03811115612cd157612cd16135f9565b6040519080825280601f01601f191660200182016040528015612cfb576020820181803683370190505b5090505f5b815181101561236057838160208110612d1b57612d1b614697565b1a60f81b828281518110612d3157612d31614697565b60200101906001600160f81b03191690815f1a905350600101612d00565b3380612d596120b5565b6001600160a01b031614612dc15760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610d61565b612079816129e6565b5f80612dd583610caa565b6005015414612e255781612de883610caa565b60050154604080516001600160e01b031990931660208401528201526060015b604051602081830303815290604052805190602001209050919050565b81612e2f83610caa565b60080154604080516001600160e01b03199093166020840152820152606001612e08565b604080516060810182525f808252602082018190529181019190915260035482516201000090910461ffff1660ff90911610801590612ead575060035460208301516001600160401b036401000000009092048216911610155b15612ee857506040805160608101825260035461ffff168152825160ff16602080830191909152909201516001600160401b03169082015290565b611da26040518060400160405280601781526020017f756e736563757265207570646174652072657175657374000000000000000000815250610cf5565b6004545f90606490612f3c9061ffff1682614b19565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166339a8653e856040518263ffffffff1660e01b8152600401612f8e91815260200190565b602060405180830381865afa158015612fa9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fcd9190614781565b612fd79190614b33565b610d959190614b4a565b612fe96125d1565b6001600160a01b038116612dc157604051631e4fbdf760e01b81525f6004820152602401610d61565b5f5f826020015161ffff161180156130335750607f826020015161ffff1611155b8015610d95575050604001516001600160401b0316151590565b606060405180604001604052601a8152806020017f576974507269636546656564734c6567616379446174614c69620000000000008152506040516020016130959190614b5d565b604051602081830303815290604052905090565b6001600160e01b031981165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d20160209081526040918290206008908101548351828152610120810190945260609390929091908201610100803683370190505091505f5b6008811015613189578183828151811061312c5761312c614697565b60200260200101906001600160e01b03191690816001600160e01b0319168152505082818151811061316057613160614697565b60209081029190910101516001600160e01b0319161561318957602082901b9150600101613110565b825250919050565b5f5f8351346131a09190614b4a565b90505f5b845181101561326c57306001600160a01b031663abc86c6e838784815181106131cf576131cf614697565b6020908102919091018101516040516001600160e01b031960e086901b811682529091166004820152885160ff166024820152908801516001600160401b0316604482015260640160206040518083038185885af1158015613233573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906132589190614781565b6132629084614b8d565b92506001016131a4565b505092915050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015611da2578181602081106132e0576132e0614697565b1a60f81b6001600160f81b03191615611da2576001016132c5565b5f5b6020811015611da25781816020811061331857613318614697565b1a60f81b6001600160f81b03191615611da2576001016132fd565b80356001600160c01b03198116906008841015612360576001600160c01b031960089490940360031b84901b1690921692915050565b6001600160e01b031981168114612079575f5ffd5b5f6020828403121561338e575f5ffd5b81356113a981613369565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561341557601f198584030188526133ff838351613399565b60209889019890935091909101906001016133e3565b50909695505050505050565b606080825284519082018190525f9060208601906080840190835b818110156134645783516001600160e01b03191683526020938401939092019160010161343c565b5050838103602085015261347881876133c7565b848103604086015285518082526020808801945090910191505f5b818110156134b1578351835260209384019390920191600101613493565b5090979650505050505050565b5f5f83601f8401126134ce575f5ffd5b5081356001600160401b038111156134e4575f5ffd5b6020830191508360208285010111156134fb575f5ffd5b9250929050565b6001600160a01b0381168114612079575f5ffd5b5f5f83601f840112613526575f5ffd5b5081356001600160401b0381111561353c575f5ffd5b6020830191508360208260051b85010111156134fb575f5ffd5b5f5f5f5f5f6060868803121561356a575f5ffd5b85356001600160401b0381111561357f575f5ffd5b61358b888289016134be565b909650945050602086013561359f81613502565b925060408601356001600160401b038111156135b9575f5ffd5b6135c588828901613516565b969995985093965092949392505050565b6001600160a01b03831681526040602082018190525f90611b96908301846133c7565b634e487b7160e01b5f52604160045260245ffd5b604081018181106001600160401b038211171561362c5761362c6135f9565b60405250565b608081018181106001600160401b038211171561362c5761362c6135f9565b60a081018181106001600160401b038211171561362c5761362c6135f9565b601f8201601f191681016001600160401b0381118282101715613695576136956135f9565b6040525050565b604051611a4360e082613670565b5f6001600160401b038211156136c2576136c26135f9565b50601f01601f191660200190565b5f6136da836136aa565b6040516136e78282613670565b8092508481528585850111156136fb575f5ffd5b848460208301375f6020868301015250509392505050565b5f60208284031215613723575f5ffd5b81356001600160401b03811115613738575f5ffd5b8201601f81018413613748575f5ffd5b611b96848235602084016136d0565b6020815260ff82511660208201525f6020830151604080840152611b966060840182613399565b602081525f6113a96020830184613399565b6020815260018060a01b03825116602082015262ffffff60208301511660408201525f6040830151608060608401526137cc60a0840182613399565b9050606084015160808401528091505092915050565b634e487b7160e01b5f52602160045260245ffd5b60148110613806576138066137e2565b9052565b60208101610d9582846137f6565b5f60208284031215613828575f5ffd5b81356113a981613502565b60058110613806576138066137e2565b5f82825180855260208501945060208160051b830101602085015f5b8381101561341557848303601f19018852815183604081015f5b60028110156138a7578682038352613892828551613399565b60209485019493909301929150600101613879565b5060209a8b019a9095509390930192505060010161385f565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156139a557603f19878603018452815160ff815116865260208101516139126020880182613833565b50604081015161392560408801826137f6565b50606081015160e0606088015261393f60e0880182613399565b9050608082015187820360808901526139588282613399565b91505060a082015187820360a08901526139728282613843565b91505060c0820151915086810360c088015261398e8183613399565b9650505060209384019391909101906001016138e6565b50929695505050505050565b5f5f5f604084860312156139c3575f5ffd5b83356001600160401b038111156139d8575f5ffd5b6139e4868287016134be565b909790965060209590950135949350505050565b5f5f60208385031215613a09575f5ffd5b82356001600160401b03811115613a1e575f5ffd5b613a2a858286016134be565b90969095509350505050565b5f5f5f5f60408587031215613a49575f5ffd5b84356001600160401b03811115613a5e575f5ffd5b613a6a878288016134be565b90955093505060208501356001600160401b03811115613a88575f5ffd5b613a94878288016134be565b95989497509550505050565b5f60408284031215611d63575f5ffd5b5f5f60608385031215613ac1575f5ffd5b8235613acc81613369565b9150613adb8460208501613aa0565b90509250929050565b5f5f5f60408486031215613af6575f5ffd5b83356001600160401b03811115613b0b575f5ffd5b613b17868287016134be565b9094509250506020840135613b2b81613502565b809150509250925092565b61ffff81168114612079575f5ffd5b5f60208284031215613b55575f5ffd5b81356113a981613b36565b5f60208284031215613b70575f5ffd5b5035919050565b6001600160401b0381511682526001600160401b03602082015116602083015260408101516040830152606081015160048110613bb657613bb66137e2565b806060840152505050565b60808101610d958284613b77565b6020815260018060a01b0382511660208201526001600160401b036020830151166040820152604082015160608201525f606083015160a06080840152613c1960c0840182613399565b608094909401516001600160a01b031660a093909301929092525090919050565b6020810160078310613c4e57613c4e6137e2565b91905290565b5f5f60208385031215613c65575f5ffd5b82356001600160401b03811115613c7a575f5ffd5b613a2a85828601613516565b602080825282518282018190525f918401906040840190835b81811015613cc857613cb2838551613b77565b6020939093019260809290920191600101613c9f565b509095945050505050565b5f60408284031215613ce3575f5ffd5b6113a98383613aa0565b5f81518060208401855e5f93019283525090919050565b5f613d0f8285613ced565b6101d160f51b815261251b6002820185613ced565b5f6001600160401b03821115613d3c57613d3c6135f9565b5060051b60200190565b5f82601f830112613d55575f5ffd5b8151602083015f613d65836136aa565b604051613d728282613670565b809250848152878585011115613d86575f5ffd5b8484602083015e5f60208683010152809550505050505092915050565b5f82601f830112613db2575f5ffd5b8151613dbd81613d24565b604051613dca8282613670565b80915082815260208101915060208360051b860101925085831115613ded575f5ffd5b602085015b83811015613e2d5780516001600160401b03811115613e0f575f5ffd5b613e1e886020838a0101613d46565b84525060209283019201613df2565b5095945050505050565b5f82601f830112613e46575f5ffd5b8151613e5181613d24565b604051613e5e8282613670565b80915082815260208101915060208360051b860101925085831115613e81575f5ffd5b602085015b83811015613e2d578051835260209283019201613e86565b5f5f5f60608486031215613eb0575f5ffd5b83516001600160401b03811115613ec5575f5ffd5b8401601f81018613613ed5575f5ffd5b8051613ee081613d24565b604051613eed8282613670565b80915082815260208101915060208360051b850101925088831115613f10575f5ffd5b6020840193505b82841015613f3b578351613f2a81613369565b825260209384019390910190613f17565b8096505050505060208401516001600160401b03811115613f5a575f5ffd5b613f6686828701613da3565b92505060408401516001600160401b03811115613f81575f5ffd5b613f8d86828701613e37565b9150509250925092565b80356001600160d01b03198116906006841015612360576001600160d01b031960069490940360031b84901b1690921692915050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f5f8335601e1984360301811261400a575f5ffd5b83016020810192503590506001600160401b03811115614028575f5ffd5b8036038213156134fb575f5ffd5b606081525f614049606083018789613fcd565b6001600160a01b038616602084810191909152838203604085015284825281810190600586901b830101865f5b878110156140b457848303601f19018452614091828a613ff5565b61409c858284613fcd565b60209687019690955093909301925050600101614076565b50909a9950505050505050505050565b5f60033d1115611a435760045f5f3e505f5160e01c90565b5f60443d10156140e95790565b6040513d600319016004823e80513d60248201116001600160401b038211171561411257505090565b80820180516001600160401b0381111561412d575050505090565b3d8401600319018282016020011115614147575050505090565b61415660208285010185613670565b509392505050565b5f5f6040838503121561416f575f5ffd5b825161417a81613502565b60208401519092506001600160401b03811115614195575f5ffd5b6141a185828601613d46565b9150509250929050565b60ff81168114612079575f5ffd5b8051611da2816141ab565b5f602082840312156141d4575f5ffd5b81516001600160401b038111156141e9575f5ffd5b8201604081850312156141fa575f5ffd5b6040516142068161360d565b8151614211816141ab565b815260208201516001600160401b0381111561422b575f5ffd5b61423786828501613d46565b602083015250949350505050565b5f60208284031215614255575f5ffd5b81516001600160401b0381111561426a575f5ffd5b611b9684828501613d46565b5f60208284031215614286575f5ffd5b81516001600160401b0381111561429b575f5ffd5b8201608081850312156142ac575f5ffd5b6040516142b881613632565b81516142c381613502565b8152602082015162ffffff811681146142da575f5ffd5b602082015260408201516001600160401b038111156142f7575f5ffd5b61430386828501613d46565b604083015250606091820151918101919091529392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821602908116908181146123605761236061431d565b634e487b7160e01b5f52601260045260245ffd5b5f6001600160401b0383168061437f5761437f614353565b806001600160401b0384160491505092915050565b805160058110611da2575f5ffd5b805160148110611da2575f5ffd5b5f82601f8301126143bf575f5ffd5b81516143ca81613d24565b6040516143d78282613670565b80915082815260208101915060208360051b8601019250858311156143fa575f5ffd5b602085015b83811015613e2d5780516001600160401b0381111561441c575f5ffd5b8601603f8101881361442c575f5ffd5b6040516144388161360d565b80606083018a811115614449575f5ffd5b602084015b818110156144895780516001600160401b0381111561446b575f5ffd5b61447a8d602083890101613d46565b8452506020928301920161444e565b505050845250602092830192016143ff565b5f602082840312156144ab575f5ffd5b81516001600160401b038111156144c0575f5ffd5b8201601f810184136144d0575f5ffd5b80516144db81613d24565b6040516144e88282613670565b80915082815260208101915060208360051b85010192508683111561450b575f5ffd5b602084015b8381101561463d5780516001600160401b0381111561452d575f5ffd5b850160e0818a03601f19011215614542575f5ffd5b61454a61369c565b614556602083016141b9565b815261456460408301614394565b6020820152614575606083016143a2565b604082015260808201516001600160401b03811115614592575f5ffd5b6145a18b602083860101613d46565b60608301525060a08201516001600160401b038111156145bf575f5ffd5b6145ce8b602083860101613d46565b60808301525060c08201516001600160401b038111156145ec575f5ffd5b6145fb8b6020838601016143b0565b60a08301525060e08201516001600160401b03811115614619575f5ffd5b6146288b602083860101613d46565b60c08301525084525060209283019201614510565b509695505050505050565b5f60208284031215614658575f5ffd5b6113a9826143a2565b604081525f614674604083018587613fcd565b9050826020830152949350505050565b602081525f611b96602083018486613fcd565b634e487b7160e01b5f52603260045260245ffd5b604081525f6146be604083018688613fcd565b82810360208401526146d1818587613fcd565b979650505050505050565b5f602082840312156146ec575f5ffd5b81516113a981613502565b60018060a01b0385168152836020820152606060408201525f61471e606083018486613fcd565b9695505050505050565b6001600160401b0381168114612079575f5ffd5b5f604082840312801561474d575f5ffd5b5060405161475a8161360d565b8235614765816141ab565b8152602083013561477581614728565b60208201529392505050565b5f60208284031215614791575f5ffd5b5051919050565b5f60808284031280156147a9575f5ffd5b506040516147b681613632565b82516147c181614728565b815260208301516147d181614728565b6020820152604083810151908201526060830151600481106147f1575f5ffd5b60608201529392505050565b600181811c9082168061481157607f821691505b602082108103611d6357634e487b7160e01b5f52602260045260245ffd5b5f6020828403121561483f575f5ffd5b81516001600160401b03811115614854575f5ffd5b820160a08185031215614865575f5ffd5b60405161487181613651565b815161487c81613502565b8152602082015161488c81614728565b60208201526040828101519082015260608201516001600160401b038111156148b3575f5ffd5b6148bf86828501613d46565b606083015250608082015191506148d582613502565b60808101919091529392505050565b5f602082840312156148f4575f5ffd5b8151600781106113a9575f5ffd5b5f60208284031215614912575f5ffd5b81356113a9816141ab565b5f6020828403121561492d575f5ffd5b81356113a981614728565b5f8383855260208501945060208460051b820101835f5b8681101561341557838303601f1901885261496a8287613ff5565b614975858284613fcd565b60209a8b019a9095509390930192505060010161494f565b602080825281018290525f6040600584901b830181019083018583601e1936839003015b87821015614a2157868503603f1901845282358181126149cf575f5ffd5b89016020810190356001600160401b038111156149ea575f5ffd5b8060051b36038213156149fb575f5ffd5b614a06878284614938565b965050506020830192506020840193506001820191506149b1565b5092979650505050505050565b5f60208284031215614a3e575f5ffd5b815161010081106113a9575f5ffd5b5f5f60408385031215614a5e575f5ffd5b505080516020909101519092909150565b81810381811115610d9557610d9561431d565b5f5f8284036080811215614a94575f5ffd5b8351614a9f81613b36565b92506060601f1982011215614ab2575f5ffd5b50604051606081018181106001600160401b0382111715614ad557614ad56135f9565b6040526020840151614ae681613b36565b81526040840151614af681613b36565b60208201526060840151614b0981614728565b6040820152919491935090915050565b61ffff8181168382160190811115610d9557610d9561431d565b8082028115828204841417610d9557610d9561431d565b5f82614b5857614b58614353565b500490565b5f614b688284613ced565b741d103ab73430b7323632b21030b9b9b2b93a34b7b760591b81526015019392505050565b80820180821115610d9557610d9561431d56fea2646970667358221220d3498114df3f482873f3852a09846f3fae071b30006cc54544419481cbe85bbe64736f6c634300081e0033",
  "immutableReferences": {
    "805": [
      {
        "length": 32,
        "start": 1781
      },
      {
        "length": 32,
        "start": 5809
      }
    ],
    "808": [
      {
        "length": 32,
        "start": 3630
      },
      {
        "length": 32,
        "start": 5624
      }
    ],
    "2342": [
      {
        "length": 32,
        "start": 1215
      },
      {
        "length": 32,
        "start": 1382
      },
      {
        "length": 32,
        "start": 3440
      },
      {
        "length": 32,
        "start": 4694
      },
      {
        "length": 32,
        "start": 5164
      },
      {
        "length": 32,
        "start": 7330
      },
      {
        "length": 32,
        "start": 7882
      },
      {
        "length": 32,
        "start": 7932
      },
      {
        "length": 32,
        "start": 8116
      },
      {
        "length": 32,
        "start": 8548
      },
      {
        "length": 32,
        "start": 10126
      },
      {
        "length": 32,
        "start": 11151
      },
      {
        "length": 32,
        "start": 12098
      }
    ],
    "9009": [
      {
        "length": 32,
        "start": 5047
      }
    ],
    "9013": [
      {
        "length": 32,
        "start": 2782
      }
    ],
    "9104": [
      {
        "length": 32,
        "start": 1573
      }
    ],
    "45824": [
      {
        "length": 32,
        "start": 1520
      },
      {
        "length": 32,
        "start": 2341
      },
      {
        "length": 32,
        "start": 4322
      },
      {
        "length": 32,
        "start": 4435
      },
      {
        "length": 32,
        "start": 4506
      },
      {
        "length": 32,
        "start": 4540
      }
    ],
    "45828": [
      {
        "length": 32,
        "start": 1621
      },
      {
        "length": 32,
        "start": 5368
      }
    ]
  },
  "generatedSources": [
    {
      "ast": {
        "nativeSrc": "0:2248:136",
        "nodeType": "YulBlock",
        "src": "0:2248:136",
        "statements": [
          {
            "nativeSrc": "6:3:136",
            "nodeType": "YulBlock",
            "src": "6:3:136",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "46:95:136",
              "nodeType": "YulBlock",
              "src": "46:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "63:1:136",
                        "nodeType": "YulLiteral",
                        "src": "63:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "70:3:136",
                            "nodeType": "YulLiteral",
                            "src": "70:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "75:10:136",
                            "nodeType": "YulLiteral",
                            "src": "75:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "66:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "66:3:136"
                        },
                        "nativeSrc": "66:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "66:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "56:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "56:6:136"
                    },
                    "nativeSrc": "56:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "56:31:136"
                  },
                  "nativeSrc": "56:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "56:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "103:1:136",
                        "nodeType": "YulLiteral",
                        "src": "103:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "106:4:136",
                        "nodeType": "YulLiteral",
                        "src": "106:4:136",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "96:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "96:6:136"
                    },
                    "nativeSrc": "96:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "96:15:136"
                  },
                  "nativeSrc": "96:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "96:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "127:1:136",
                        "nodeType": "YulLiteral",
                        "src": "127:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "130:4:136",
                        "nodeType": "YulLiteral",
                        "src": "130:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "120:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "120:6:136"
                    },
                    "nativeSrc": "120:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "120:15:136"
                  },
                  "nativeSrc": "120:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "120:15:136"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "14:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "14:127:136"
          },
          {
            "body": {
              "nativeSrc": "275:401:136",
              "nodeType": "YulBlock",
              "src": "275:401:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "321:16:136",
                    "nodeType": "YulBlock",
                    "src": "321:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "330:1:136",
                              "nodeType": "YulLiteral",
                              "src": "330:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "333:1:136",
                              "nodeType": "YulLiteral",
                              "src": "333:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "323:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "323:6:136"
                          },
                          "nativeSrc": "323:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "323:12:136"
                        },
                        "nativeSrc": "323:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "323:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "296:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "296:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "305:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "305:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "292:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "292:3:136"
                        },
                        "nativeSrc": "292:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "292:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "317:2:136",
                        "nodeType": "YulLiteral",
                        "src": "317:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "288:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "288:3:136"
                    },
                    "nativeSrc": "288:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "288:32:136"
                  },
                  "nativeSrc": "285:52:136",
                  "nodeType": "YulIf",
                  "src": "285:52:136"
                },
                {
                  "nativeSrc": "346:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "346:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "365:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "365:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "359:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "359:5:136"
                    },
                    "nativeSrc": "359:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "359:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "350:5:136",
                      "nodeType": "YulTypedName",
                      "src": "350:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "438:16:136",
                    "nodeType": "YulBlock",
                    "src": "438:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "447:1:136",
                              "nodeType": "YulLiteral",
                              "src": "447:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "450:1:136",
                              "nodeType": "YulLiteral",
                              "src": "450:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "440:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "440:6:136"
                          },
                          "nativeSrc": "440:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "440:12:136"
                        },
                        "nativeSrc": "440:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "440:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "397:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "397:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "408:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "408:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "423:3:136",
                                        "nodeType": "YulLiteral",
                                        "src": "423:3:136",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "428:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "428:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "419:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "419:3:136"
                                    },
                                    "nativeSrc": "419:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "419:11:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "432:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "432:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "415:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "415:3:136"
                                },
                                "nativeSrc": "415:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "415:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "404:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "404:3:136"
                            },
                            "nativeSrc": "404:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "404:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "394:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "394:2:136"
                        },
                        "nativeSrc": "394:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "394:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "387:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "387:6:136"
                    },
                    "nativeSrc": "387:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "387:50:136"
                  },
                  "nativeSrc": "384:70:136",
                  "nodeType": "YulIf",
                  "src": "384:70:136"
                },
                {
                  "nativeSrc": "463:15:136",
                  "nodeType": "YulAssignment",
                  "src": "463:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "473:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "473:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "463:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "463:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "487:35:136",
                  "nodeType": "YulAssignment",
                  "src": "487:35:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "507:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "507:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "518:2:136",
                            "nodeType": "YulLiteral",
                            "src": "518:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "503:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "503:3:136"
                        },
                        "nativeSrc": "503:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "503:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "497:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "497:5:136"
                    },
                    "nativeSrc": "497:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "497:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "487:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "487:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "531:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "531:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "556:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "556:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "567:2:136",
                            "nodeType": "YulLiteral",
                            "src": "567:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "552:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "552:3:136"
                        },
                        "nativeSrc": "552:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "552:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "546:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "546:5:136"
                    },
                    "nativeSrc": "546:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "546:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "535:7:136",
                      "nodeType": "YulTypedName",
                      "src": "535:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "628:16:136",
                    "nodeType": "YulBlock",
                    "src": "628:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "637:1:136",
                              "nodeType": "YulLiteral",
                              "src": "637:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "640:1:136",
                              "nodeType": "YulLiteral",
                              "src": "640:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "630:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "630:6:136"
                          },
                          "nativeSrc": "630:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "630:12:136"
                        },
                        "nativeSrc": "630:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "630:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "593:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "593:7:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value_1",
                                    "nativeSrc": "616:7:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "616:7:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "609:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "609:6:136"
                                },
                                "nativeSrc": "609:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "609:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "602:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "602:6:136"
                            },
                            "nativeSrc": "602:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "602:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "590:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "590:2:136"
                        },
                        "nativeSrc": "590:36:136",
                        "nodeType": "YulFunctionCall",
                        "src": "590:36:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "583:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "583:6:136"
                    },
                    "nativeSrc": "583:44:136",
                    "nodeType": "YulFunctionCall",
                    "src": "583:44:136"
                  },
                  "nativeSrc": "580:64:136",
                  "nodeType": "YulIf",
                  "src": "580:64:136"
                },
                {
                  "nativeSrc": "653:17:136",
                  "nodeType": "YulAssignment",
                  "src": "653:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "663:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "663:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "653:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "653:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitOracle_$678t_bytes32t_bool_fromMemory",
            "nativeSrc": "146:530:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "225:9:136",
                "nodeType": "YulTypedName",
                "src": "225:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "236:7:136",
                "nodeType": "YulTypedName",
                "src": "236:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "248:6:136",
                "nodeType": "YulTypedName",
                "src": "248:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "256:6:136",
                "nodeType": "YulTypedName",
                "src": "256:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "264:6:136",
                "nodeType": "YulTypedName",
                "src": "264:6:136",
                "type": ""
              }
            ],
            "src": "146:530:136"
          },
          {
            "body": {
              "nativeSrc": "782:102:136",
              "nodeType": "YulBlock",
              "src": "782:102:136",
              "statements": [
                {
                  "nativeSrc": "792:26:136",
                  "nodeType": "YulAssignment",
                  "src": "792:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "804:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "804:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "815:2:136",
                        "nodeType": "YulLiteral",
                        "src": "815:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "800:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "800:3:136"
                    },
                    "nativeSrc": "800:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "800:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "792:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "792:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "834:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "834:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "849:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "849:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "865:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "865:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "870:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "870:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "861:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "861:3:136"
                                },
                                "nativeSrc": "861:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "861:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "874:1:136",
                                "nodeType": "YulLiteral",
                                "src": "874:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "857:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "857:3:136"
                            },
                            "nativeSrc": "857:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "857:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "845:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "845:3:136"
                        },
                        "nativeSrc": "845:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "845:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "827:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "827:6:136"
                    },
                    "nativeSrc": "827:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "827:51:136"
                  },
                  "nativeSrc": "827:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "827:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "681:203:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "751:9:136",
                "nodeType": "YulTypedName",
                "src": "751:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "762:6:136",
                "nodeType": "YulTypedName",
                "src": "762:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "773:4:136",
                "nodeType": "YulTypedName",
                "src": "773:4:136",
                "type": ""
              }
            ],
            "src": "681:203:136"
          },
          {
            "body": {
              "nativeSrc": "969:210:136",
              "nodeType": "YulBlock",
              "src": "969:210:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1015:16:136",
                    "nodeType": "YulBlock",
                    "src": "1015:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1024:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1024:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1027:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1027:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1017:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1017:6:136"
                          },
                          "nativeSrc": "1017:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1017:12:136"
                        },
                        "nativeSrc": "1017:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1017:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "990:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "990:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "999:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "999:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "986:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "986:3:136"
                        },
                        "nativeSrc": "986:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "986:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1011:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1011:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "982:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "982:3:136"
                    },
                    "nativeSrc": "982:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "982:32:136"
                  },
                  "nativeSrc": "979:52:136",
                  "nodeType": "YulIf",
                  "src": "979:52:136"
                },
                {
                  "nativeSrc": "1040:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1040:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1059:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1059:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1053:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1053:5:136"
                    },
                    "nativeSrc": "1053:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1053:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1044:5:136",
                      "nodeType": "YulTypedName",
                      "src": "1044:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1133:16:136",
                    "nodeType": "YulBlock",
                    "src": "1133:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1142:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1142:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1145:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1145:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1135:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1135:6:136"
                          },
                          "nativeSrc": "1135:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1135:12:136"
                        },
                        "nativeSrc": "1135:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1135:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1091:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1091:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1102:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "1102:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1113:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1113:3:136",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1118:10:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1118:10:136",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "1109:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1109:3:136"
                                },
                                "nativeSrc": "1109:20:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1109:20:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1098:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1098:3:136"
                            },
                            "nativeSrc": "1098:32:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1098:32:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1088:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "1088:2:136"
                        },
                        "nativeSrc": "1088:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1088:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1081:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1081:6:136"
                    },
                    "nativeSrc": "1081:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1081:51:136"
                  },
                  "nativeSrc": "1078:71:136",
                  "nodeType": "YulIf",
                  "src": "1078:71:136"
                },
                {
                  "nativeSrc": "1158:15:136",
                  "nodeType": "YulAssignment",
                  "src": "1158:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1168:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "1168:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1158:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1158:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "889:290:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "935:9:136",
                "nodeType": "YulTypedName",
                "src": "935:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "946:7:136",
                "nodeType": "YulTypedName",
                "src": "946:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "958:6:136",
                "nodeType": "YulTypedName",
                "src": "958:6:136",
                "type": ""
              }
            ],
            "src": "889:290:136"
          },
          {
            "body": {
              "nativeSrc": "1234:162:136",
              "nodeType": "YulBlock",
              "src": "1234:162:136",
              "statements": [
                {
                  "nativeSrc": "1244:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1244:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1264:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1264:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1258:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1258:5:136"
                    },
                    "nativeSrc": "1258:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1258:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1248:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1248:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1285:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1285:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1294:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1294:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1301:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1301:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1290:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1290:3:136"
                        },
                        "nativeSrc": "1290:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1290:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1308:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1308:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "1279:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1279:5:136"
                    },
                    "nativeSrc": "1279:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1279:36:136"
                  },
                  "nativeSrc": "1279:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1279:36:136"
                },
                {
                  "nativeSrc": "1324:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1324:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1338:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1338:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1343:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1343:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1334:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1334:3:136"
                    },
                    "nativeSrc": "1334:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1334:16:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "1328:2:136",
                      "nodeType": "YulTypedName",
                      "src": "1328:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "1366:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "1366:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1370:1:136",
                        "nodeType": "YulLiteral",
                        "src": "1370:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1359:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1359:6:136"
                    },
                    "nativeSrc": "1359:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1359:13:136"
                  },
                  "nativeSrc": "1359:13:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1359:13:136"
                },
                {
                  "nativeSrc": "1381:9:136",
                  "nodeType": "YulAssignment",
                  "src": "1381:9:136",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "1388:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "1388:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1381:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1381:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string",
            "nativeSrc": "1184:212:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1211:5:136",
                "nodeType": "YulTypedName",
                "src": "1211:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1218:3:136",
                "nodeType": "YulTypedName",
                "src": "1218:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "1226:3:136",
                "nodeType": "YulTypedName",
                "src": "1226:3:136",
                "type": ""
              }
            ],
            "src": "1184:212:136"
          },
          {
            "body": {
              "nativeSrc": "1689:134:136",
              "nodeType": "YulBlock",
              "src": "1689:134:136",
              "statements": [
                {
                  "nativeSrc": "1699:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1699:40:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "1727:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1727:6:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "1735:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1735:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "1709:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "1709:17:136"
                    },
                    "nativeSrc": "1709:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1709:30:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "1703:2:136",
                      "nodeType": "YulTypedName",
                      "src": "1703:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "1755:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "1755:2:136"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "1759:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1759:4:136",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1748:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1748:6:136"
                    },
                    "nativeSrc": "1748:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1748:16:136"
                  },
                  "nativeSrc": "1748:16:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1748:16:136"
                },
                {
                  "nativeSrc": "1773:44:136",
                  "nodeType": "YulAssignment",
                  "src": "1773:44:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "1798:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1798:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "1810:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "1810:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1814:1:136",
                            "nodeType": "YulLiteral",
                            "src": "1814:1:136",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1806:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1806:3:136"
                        },
                        "nativeSrc": "1806:10:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1806:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "1780:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "1780:17:136"
                    },
                    "nativeSrc": "1780:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1780:37:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1773:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1773:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "1401:422:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "1657:3:136",
                "nodeType": "YulTypedName",
                "src": "1657:3:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "1662:6:136",
                "nodeType": "YulTypedName",
                "src": "1662:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1670:6:136",
                "nodeType": "YulTypedName",
                "src": "1670:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "1681:3:136",
                "nodeType": "YulTypedName",
                "src": "1681:3:136",
                "type": ""
              }
            ],
            "src": "1401:422:136"
          },
          {
            "body": {
              "nativeSrc": "1949:297:136",
              "nodeType": "YulBlock",
              "src": "1949:297:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1966:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1966:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1977:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1977:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1959:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1959:6:136"
                    },
                    "nativeSrc": "1959:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1959:21:136"
                  },
                  "nativeSrc": "1959:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1959:21:136"
                },
                {
                  "nativeSrc": "1989:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1989:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "2009:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2009:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2003:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2003:5:136"
                    },
                    "nativeSrc": "2003:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2003:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1993:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1993:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2036:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2036:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2047:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2047:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2032:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2032:3:136"
                        },
                        "nativeSrc": "2032:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2032:18:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2052:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2052:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2025:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2025:6:136"
                    },
                    "nativeSrc": "2025:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2025:34:136"
                  },
                  "nativeSrc": "2025:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2025:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2078:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2078:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2089:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2089:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2074:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2074:3:136"
                        },
                        "nativeSrc": "2074:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2074:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "2098:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2098:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2106:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2106:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2094:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2094:3:136"
                        },
                        "nativeSrc": "2094:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2094:15:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2111:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2111:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "2068:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2068:5:136"
                    },
                    "nativeSrc": "2068:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2068:50:136"
                  },
                  "nativeSrc": "2068:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2068:50:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "2142:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "2142:9:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "2153:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "2153:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2138:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2138:3:136"
                            },
                            "nativeSrc": "2138:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2138:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2162:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2162:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2134:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2134:3:136"
                        },
                        "nativeSrc": "2134:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2134:31:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2167:1:136",
                        "nodeType": "YulLiteral",
                        "src": "2167:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2127:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2127:6:136"
                    },
                    "nativeSrc": "2127:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2127:42:136"
                  },
                  "nativeSrc": "2127:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2127:42:136"
                },
                {
                  "nativeSrc": "2178:62:136",
                  "nodeType": "YulAssignment",
                  "src": "2178:62:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2194:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2194:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "2213:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2213:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2221:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2221:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2209:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2209:3:136"
                                },
                                "nativeSrc": "2209:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2209:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2230:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2230:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "2226:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2226:3:136"
                                },
                                "nativeSrc": "2226:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2226:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2205:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2205:3:136"
                            },
                            "nativeSrc": "2205:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2205:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2190:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2190:3:136"
                        },
                        "nativeSrc": "2190:45:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2190:45:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2237:2:136",
                        "nodeType": "YulLiteral",
                        "src": "2237:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2186:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2186:3:136"
                    },
                    "nativeSrc": "2186:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2186:54:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "2178:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "2178:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "1828:418:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1918:9:136",
                "nodeType": "YulTypedName",
                "src": "1918:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1929:6:136",
                "nodeType": "YulTypedName",
                "src": "1929:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1940:4:136",
                "nodeType": "YulTypedName",
                "src": "1940:4:136",
                "type": ""
              }
            ],
            "src": "1828:418:136"
          }
        ]
      },
      "contents": "{\n    { }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_decode_tuple_t_contract$_WitOracle_$678t_bytes32t_bool_fromMemory(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n        value0 := value\n        value1 := mload(add(headStart, 32))\n        let value_1 := mload(add(headStart, 64))\n        if iszero(eq(value_1, iszero(iszero(value_1)))) { revert(0, 0) }\n        value2 := value_1\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mcopy(pos, add(value, 0x20), length)\n        let _1 := add(pos, length)\n        mstore(_1, 0)\n        end := _1\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let _1 := abi_encode_string(value0, pos)\n        mstore(_1, \": \")\n        end := abi_encode_string(value1, add(_1, 2))\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let length := mload(value0)\n        mstore(add(headStart, 32), length)\n        mcopy(add(headStart, 64), add(value0, 32), length)\n        mstore(add(add(headStart, length), 64), 0)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n    }\n}",
      "id": 136,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:53955:136",
        "nodeType": "YulBlock",
        "src": "0:53955:136",
        "statements": [
          {
            "nativeSrc": "6:3:136",
            "nodeType": "YulBlock",
            "src": "6:3:136",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "114:262:136",
              "nodeType": "YulBlock",
              "src": "114:262:136",
              "statements": [
                {
                  "nativeSrc": "124:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "124:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "array",
                        "nativeSrc": "147:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "147:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "134:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "134:12:136"
                    },
                    "nativeSrc": "134:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "134:19:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "128:2:136",
                      "nodeType": "YulTypedName",
                      "src": "128:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "162:46:136",
                  "nodeType": "YulAssignment",
                  "src": "162:46:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "175:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "175:2:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "183:3:136",
                            "nodeType": "YulLiteral",
                            "src": "183:3:136",
                            "type": "",
                            "value": "192"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "188:18:136",
                            "nodeType": "YulLiteral",
                            "src": "188:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "179:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "179:3:136"
                        },
                        "nativeSrc": "179:28:136",
                        "nodeType": "YulFunctionCall",
                        "src": "179:28:136"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "171:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "171:3:136"
                    },
                    "nativeSrc": "171:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "171:37:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "162:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "162:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "239:131:136",
                    "nodeType": "YulBlock",
                    "src": "239:131:136",
                    "statements": [
                      {
                        "nativeSrc": "253:107:136",
                        "nodeType": "YulAssignment",
                        "src": "253:107:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "270:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "270:2:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "282:1:136",
                                          "nodeType": "YulLiteral",
                                          "src": "282:1:136",
                                          "type": "",
                                          "value": "3"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "kind": "number",
                                              "nativeSrc": "289:1:136",
                                              "nodeType": "YulLiteral",
                                              "src": "289:1:136",
                                              "type": "",
                                              "value": "8"
                                            },
                                            {
                                              "name": "len",
                                              "nativeSrc": "292:3:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "292:3:136"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "sub",
                                            "nativeSrc": "285:3:136",
                                            "nodeType": "YulIdentifier",
                                            "src": "285:3:136"
                                          },
                                          "nativeSrc": "285:11:136",
                                          "nodeType": "YulFunctionCall",
                                          "src": "285:11:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "278:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "278:3:136"
                                      },
                                      "nativeSrc": "278:19:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "278:19:136"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "303:3:136",
                                          "nodeType": "YulLiteral",
                                          "src": "303:3:136",
                                          "type": "",
                                          "value": "192"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "308:18:136",
                                          "nodeType": "YulLiteral",
                                          "src": "308:18:136",
                                          "type": "",
                                          "value": "0xffffffffffffffff"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "299:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "299:3:136"
                                      },
                                      "nativeSrc": "299:28:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "299:28:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "274:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "274:3:136"
                                  },
                                  "nativeSrc": "274:54:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "274:54:136"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "266:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "266:3:136"
                              },
                              "nativeSrc": "266:63:136",
                              "nodeType": "YulFunctionCall",
                              "src": "266:63:136"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "335:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "335:3:136",
                                  "type": "",
                                  "value": "192"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "340:18:136",
                                  "nodeType": "YulLiteral",
                                  "src": "340:18:136",
                                  "type": "",
                                  "value": "0xffffffffffffffff"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "331:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "331:3:136"
                              },
                              "nativeSrc": "331:28:136",
                              "nodeType": "YulFunctionCall",
                              "src": "331:28:136"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "262:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "262:3:136"
                          },
                          "nativeSrc": "262:98:136",
                          "nodeType": "YulFunctionCall",
                          "src": "262:98:136"
                        },
                        "variableNames": [
                          {
                            "name": "value",
                            "nativeSrc": "253:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "253:5:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "223:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "223:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "228:1:136",
                        "nodeType": "YulLiteral",
                        "src": "228:1:136",
                        "type": "",
                        "value": "8"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "220:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "220:2:136"
                    },
                    "nativeSrc": "220:10:136",
                    "nodeType": "YulFunctionCall",
                    "src": "220:10:136"
                  },
                  "nativeSrc": "217:153:136",
                  "nodeType": "YulIf",
                  "src": "217:153:136"
                }
              ]
            },
            "name": "convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes8",
            "nativeSrc": "14:362:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "89:5:136",
                "nodeType": "YulTypedName",
                "src": "89:5:136",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "96:3:136",
                "nodeType": "YulTypedName",
                "src": "96:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "104:5:136",
                "nodeType": "YulTypedName",
                "src": "104:5:136",
                "type": ""
              }
            ],
            "src": "14:362:136"
          },
          {
            "body": {
              "nativeSrc": "425:87:136",
              "nodeType": "YulBlock",
              "src": "425:87:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "490:16:136",
                    "nodeType": "YulBlock",
                    "src": "490:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "499:1:136",
                              "nodeType": "YulLiteral",
                              "src": "499:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "502:1:136",
                              "nodeType": "YulLiteral",
                              "src": "502:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "492:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "492:6:136"
                          },
                          "nativeSrc": "492:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "492:12:136"
                        },
                        "nativeSrc": "492:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "492:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "448:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "448:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "459:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "459:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "470:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "470:3:136",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "475:10:136",
                                    "nodeType": "YulLiteral",
                                    "src": "475:10:136",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "466:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "466:3:136"
                                },
                                "nativeSrc": "466:20:136",
                                "nodeType": "YulFunctionCall",
                                "src": "466:20:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "455:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "455:3:136"
                            },
                            "nativeSrc": "455:32:136",
                            "nodeType": "YulFunctionCall",
                            "src": "455:32:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "445:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "445:2:136"
                        },
                        "nativeSrc": "445:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "445:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "438:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "438:6:136"
                    },
                    "nativeSrc": "438:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "438:51:136"
                  },
                  "nativeSrc": "435:71:136",
                  "nodeType": "YulIf",
                  "src": "435:71:136"
                }
              ]
            },
            "name": "validator_revert_bytes4",
            "nativeSrc": "381:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "414:5:136",
                "nodeType": "YulTypedName",
                "src": "414:5:136",
                "type": ""
              }
            ],
            "src": "381:131:136"
          },
          {
            "body": {
              "nativeSrc": "586:176:136",
              "nodeType": "YulBlock",
              "src": "586:176:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "632:16:136",
                    "nodeType": "YulBlock",
                    "src": "632:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "641:1:136",
                              "nodeType": "YulLiteral",
                              "src": "641:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "644:1:136",
                              "nodeType": "YulLiteral",
                              "src": "644:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "634:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "634:6:136"
                          },
                          "nativeSrc": "634:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "634:12:136"
                        },
                        "nativeSrc": "634:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "634:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "607:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "607:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "616:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "616:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "603:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "603:3:136"
                        },
                        "nativeSrc": "603:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "603:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "628:2:136",
                        "nodeType": "YulLiteral",
                        "src": "628:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "599:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "599:3:136"
                    },
                    "nativeSrc": "599:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "599:32:136"
                  },
                  "nativeSrc": "596:52:136",
                  "nodeType": "YulIf",
                  "src": "596:52:136"
                },
                {
                  "nativeSrc": "657:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "657:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "683:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "683:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "670:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "670:12:136"
                    },
                    "nativeSrc": "670:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "670:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "661:5:136",
                      "nodeType": "YulTypedName",
                      "src": "661:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "726:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "726:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "702:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "702:23:136"
                    },
                    "nativeSrc": "702:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "702:30:136"
                  },
                  "nativeSrc": "702:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "702:30:136"
                },
                {
                  "nativeSrc": "741:15:136",
                  "nodeType": "YulAssignment",
                  "src": "741:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "751:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "751:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "741:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "741:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4",
            "nativeSrc": "517:245:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "552:9:136",
                "nodeType": "YulTypedName",
                "src": "552:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "563:7:136",
                "nodeType": "YulTypedName",
                "src": "563:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "575:6:136",
                "nodeType": "YulTypedName",
                "src": "575:6:136",
                "type": ""
              }
            ],
            "src": "517:245:136"
          },
          {
            "body": {
              "nativeSrc": "868:76:136",
              "nodeType": "YulBlock",
              "src": "868:76:136",
              "statements": [
                {
                  "nativeSrc": "878:26:136",
                  "nodeType": "YulAssignment",
                  "src": "878:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "890:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "890:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "901:2:136",
                        "nodeType": "YulLiteral",
                        "src": "901:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "886:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "886:3:136"
                    },
                    "nativeSrc": "886:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "886:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "878:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "878:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "920:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "920:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "931:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "931:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "913:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "913:6:136"
                    },
                    "nativeSrc": "913:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "913:25:136"
                  },
                  "nativeSrc": "913:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "913:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "767:177:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "837:9:136",
                "nodeType": "YulTypedName",
                "src": "837:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "848:6:136",
                "nodeType": "YulTypedName",
                "src": "848:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "859:4:136",
                "nodeType": "YulTypedName",
                "src": "859:4:136",
                "type": ""
              }
            ],
            "src": "767:177:136"
          },
          {
            "body": {
              "nativeSrc": "1010:239:136",
              "nodeType": "YulBlock",
              "src": "1010:239:136",
              "statements": [
                {
                  "nativeSrc": "1020:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1020:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1040:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1040:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1034:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1034:5:136"
                    },
                    "nativeSrc": "1034:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1034:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1024:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1024:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1062:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1062:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1067:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1067:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1055:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1055:6:136"
                    },
                    "nativeSrc": "1055:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1055:19:136"
                  },
                  "nativeSrc": "1055:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1055:19:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1093:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1093:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1098:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1098:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1089:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1089:3:136"
                        },
                        "nativeSrc": "1089:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1089:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1109:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1109:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1116:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1116:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1105:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1105:3:136"
                        },
                        "nativeSrc": "1105:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1105:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1123:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1123:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "1083:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1083:5:136"
                    },
                    "nativeSrc": "1083:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1083:47:136"
                  },
                  "nativeSrc": "1083:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1083:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "1154:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "1154:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "1159:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "1159:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1150:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1150:3:136"
                            },
                            "nativeSrc": "1150:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1150:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1168:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1168:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1146:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1146:3:136"
                        },
                        "nativeSrc": "1146:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1146:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1175:1:136",
                        "nodeType": "YulLiteral",
                        "src": "1175:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1139:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1139:6:136"
                    },
                    "nativeSrc": "1139:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1139:38:136"
                  },
                  "nativeSrc": "1139:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1139:38:136"
                },
                {
                  "nativeSrc": "1186:57:136",
                  "nodeType": "YulAssignment",
                  "src": "1186:57:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1201:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1201:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "1214:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1214:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1222:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1222:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "1210:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1210:3:136"
                                },
                                "nativeSrc": "1210:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1210:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1231:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1231:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "1227:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1227:3:136"
                                },
                                "nativeSrc": "1227:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1227:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1206:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1206:3:136"
                            },
                            "nativeSrc": "1206:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1206:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1197:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1197:3:136"
                        },
                        "nativeSrc": "1197:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1197:39:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1238:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1238:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1193:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1193:3:136"
                    },
                    "nativeSrc": "1193:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1193:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1186:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1186:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string_memory_ptr",
            "nativeSrc": "949:300:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "987:5:136",
                "nodeType": "YulTypedName",
                "src": "987:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "994:3:136",
                "nodeType": "YulTypedName",
                "src": "994:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "1002:3:136",
                "nodeType": "YulTypedName",
                "src": "1002:3:136",
                "type": ""
              }
            ],
            "src": "949:300:136"
          },
          {
            "body": {
              "nativeSrc": "1314:530:136",
              "nodeType": "YulBlock",
              "src": "1314:530:136",
              "statements": [
                {
                  "nativeSrc": "1324:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1324:16:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "1337:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "1337:3:136"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "1328:5:136",
                      "nodeType": "YulTypedName",
                      "src": "1328:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1349:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1349:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1369:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1369:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1363:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1363:5:136"
                    },
                    "nativeSrc": "1363:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1363:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1353:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1353:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1391:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1391:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1396:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1396:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1384:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1384:6:136"
                    },
                    "nativeSrc": "1384:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1384:19:136"
                  },
                  "nativeSrc": "1384:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1384:19:136"
                },
                {
                  "nativeSrc": "1412:21:136",
                  "nodeType": "YulAssignment",
                  "src": "1412:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1423:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1423:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1428:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1428:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1419:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1419:3:136"
                    },
                    "nativeSrc": "1419:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1419:14:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "1412:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1412:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "1442:49:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1442:49:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "1462:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1462:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "1473:1:136",
                                "nodeType": "YulLiteral",
                                "src": "1473:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "1476:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "1476:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "1469:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1469:3:136"
                            },
                            "nativeSrc": "1469:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1469:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1458:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1458:3:136"
                        },
                        "nativeSrc": "1458:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1458:26:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1486:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1486:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1454:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1454:3:136"
                    },
                    "nativeSrc": "1454:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1454:37:136"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "1446:4:136",
                      "nodeType": "YulTypedName",
                      "src": "1446:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1500:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1500:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1518:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1518:5:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1525:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1525:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1514:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1514:3:136"
                    },
                    "nativeSrc": "1514:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1514:16:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "1504:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1504:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1539:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1539:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "1548:1:136",
                    "nodeType": "YulLiteral",
                    "src": "1548:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "1543:1:136",
                      "nodeType": "YulTypedName",
                      "src": "1543:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1607:211:136",
                    "nodeType": "YulBlock",
                    "src": "1607:211:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "1628:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1628:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail",
                                      "nativeSrc": "1641:4:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "1641:4:136"
                                    },
                                    {
                                      "name": "pos_1",
                                      "nativeSrc": "1647:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "1647:5:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "1637:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1637:3:136"
                                  },
                                  "nativeSrc": "1637:16:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1637:16:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "1659:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "1659:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "1655:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1655:3:136"
                                  },
                                  "nativeSrc": "1655:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1655:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "1633:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "1633:3:136"
                              },
                              "nativeSrc": "1633:30:136",
                              "nodeType": "YulFunctionCall",
                              "src": "1633:30:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "1621:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1621:6:136"
                          },
                          "nativeSrc": "1621:43:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1621:43:136"
                        },
                        "nativeSrc": "1621:43:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1621:43:136"
                      },
                      {
                        "nativeSrc": "1677:57:136",
                        "nodeType": "YulAssignment",
                        "src": "1677:57:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "1720:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1720:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "1714:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "1714:5:136"
                              },
                              "nativeSrc": "1714:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "1714:13:136"
                            },
                            {
                              "name": "tail",
                              "nativeSrc": "1729:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "1729:4:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "1685:28:136",
                            "nodeType": "YulIdentifier",
                            "src": "1685:28:136"
                          },
                          "nativeSrc": "1685:49:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1685:49:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail",
                            "nativeSrc": "1677:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "1677:4:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "1747:27:136",
                        "nodeType": "YulAssignment",
                        "src": "1747:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "1761:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "1761:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1769:4:136",
                              "nodeType": "YulLiteral",
                              "src": "1769:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1757:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1757:3:136"
                          },
                          "nativeSrc": "1757:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1757:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "1747:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1747:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "1787:21:136",
                        "nodeType": "YulAssignment",
                        "src": "1787:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "1798:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1798:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1803:4:136",
                              "nodeType": "YulLiteral",
                              "src": "1803:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1794:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1794:3:136"
                          },
                          "nativeSrc": "1794:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1794:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "1787:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1787:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "1569:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "1569:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1572:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1572:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "1566:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "1566:2:136"
                    },
                    "nativeSrc": "1566:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1566:13:136"
                  },
                  "nativeSrc": "1558:260:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "1580:18:136",
                    "nodeType": "YulBlock",
                    "src": "1580:18:136",
                    "statements": [
                      {
                        "nativeSrc": "1582:14:136",
                        "nodeType": "YulAssignment",
                        "src": "1582:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "1591:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "1591:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1594:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1594:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1587:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1587:3:136"
                          },
                          "nativeSrc": "1587:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1587:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "1582:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "1582:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "1562:3:136",
                    "nodeType": "YulBlock",
                    "src": "1562:3:136",
                    "statements": []
                  },
                  "src": "1558:260:136"
                },
                {
                  "nativeSrc": "1827:11:136",
                  "nodeType": "YulAssignment",
                  "src": "1827:11:136",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "1834:4:136",
                    "nodeType": "YulIdentifier",
                    "src": "1834:4:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1827:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1827:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_string_dyn",
            "nativeSrc": "1254:590:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1291:5:136",
                "nodeType": "YulTypedName",
                "src": "1291:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1298:3:136",
                "nodeType": "YulTypedName",
                "src": "1298:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "1306:3:136",
                "nodeType": "YulTypedName",
                "src": "1306:3:136",
                "type": ""
              }
            ],
            "src": "1254:590:136"
          },
          {
            "body": {
              "nativeSrc": "2174:1075:136",
              "nodeType": "YulBlock",
              "src": "2174:1075:136",
              "statements": [
                {
                  "nativeSrc": "2184:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2184:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2202:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "2202:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2213:2:136",
                        "nodeType": "YulLiteral",
                        "src": "2213:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2198:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2198:3:136"
                    },
                    "nativeSrc": "2198:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2198:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "2188:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2188:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2232:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "2232:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2243:2:136",
                        "nodeType": "YulLiteral",
                        "src": "2243:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2225:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2225:6:136"
                    },
                    "nativeSrc": "2225:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2225:21:136"
                  },
                  "nativeSrc": "2225:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2225:21:136"
                },
                {
                  "nativeSrc": "2255:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2255:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "2266:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "2266:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "2259:3:136",
                      "nodeType": "YulTypedName",
                      "src": "2259:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2281:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2281:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "2301:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2301:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2295:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2295:5:136"
                    },
                    "nativeSrc": "2295:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2295:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "2285:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2285:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "2324:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2324:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2332:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2332:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2317:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2317:6:136"
                    },
                    "nativeSrc": "2317:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2317:22:136"
                  },
                  "nativeSrc": "2317:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2317:22:136"
                },
                {
                  "nativeSrc": "2348:26:136",
                  "nodeType": "YulAssignment",
                  "src": "2348:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2359:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "2359:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2370:3:136",
                        "nodeType": "YulLiteral",
                        "src": "2370:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2355:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2355:3:136"
                    },
                    "nativeSrc": "2355:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2355:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "2348:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2348:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "2383:31:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2383:31:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "2401:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2401:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2409:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2409:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2397:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2397:3:136"
                    },
                    "nativeSrc": "2397:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2397:17:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "2387:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2387:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2423:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2423:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "2432:1:136",
                    "nodeType": "YulLiteral",
                    "src": "2432:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "2427:1:136",
                      "nodeType": "YulTypedName",
                      "src": "2427:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2491:151:136",
                    "nodeType": "YulBlock",
                    "src": "2491:151:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "2512:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2512:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "2527:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "2527:6:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "2521:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2521:5:136"
                                  },
                                  "nativeSrc": "2521:13:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "2521:13:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "2540:3:136",
                                      "nodeType": "YulLiteral",
                                      "src": "2540:3:136",
                                      "type": "",
                                      "value": "224"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "2545:10:136",
                                      "nodeType": "YulLiteral",
                                      "src": "2545:10:136",
                                      "type": "",
                                      "value": "0xffffffff"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "2536:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2536:3:136"
                                  },
                                  "nativeSrc": "2536:20:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "2536:20:136"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "2517:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "2517:3:136"
                              },
                              "nativeSrc": "2517:40:136",
                              "nodeType": "YulFunctionCall",
                              "src": "2517:40:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "2505:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2505:6:136"
                          },
                          "nativeSrc": "2505:53:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2505:53:136"
                        },
                        "nativeSrc": "2505:53:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "2505:53:136"
                      },
                      {
                        "nativeSrc": "2571:21:136",
                        "nodeType": "YulAssignment",
                        "src": "2571:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "2582:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2582:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2587:4:136",
                              "nodeType": "YulLiteral",
                              "src": "2587:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2578:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2578:3:136"
                          },
                          "nativeSrc": "2578:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2578:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "2571:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2571:3:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "2605:27:136",
                        "nodeType": "YulAssignment",
                        "src": "2605:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "2619:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "2619:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2627:4:136",
                              "nodeType": "YulLiteral",
                              "src": "2627:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2615:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2615:3:136"
                          },
                          "nativeSrc": "2615:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2615:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "2605:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2605:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "2453:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "2453:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2456:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2456:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "2450:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "2450:2:136"
                    },
                    "nativeSrc": "2450:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2450:13:136"
                  },
                  "nativeSrc": "2442:200:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "2464:18:136",
                    "nodeType": "YulBlock",
                    "src": "2464:18:136",
                    "statements": [
                      {
                        "nativeSrc": "2466:14:136",
                        "nodeType": "YulAssignment",
                        "src": "2466:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "2475:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "2475:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2478:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2478:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2471:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2471:3:136"
                          },
                          "nativeSrc": "2471:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2471:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "2466:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "2466:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "2446:3:136",
                    "nodeType": "YulBlock",
                    "src": "2446:3:136",
                    "statements": []
                  },
                  "src": "2442:200:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2662:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2662:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2673:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2673:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2658:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2658:3:136"
                        },
                        "nativeSrc": "2658:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2658:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2684:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2684:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2689:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2689:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2680:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2680:3:136"
                        },
                        "nativeSrc": "2680:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2680:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2651:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2651:6:136"
                    },
                    "nativeSrc": "2651:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2651:49:136"
                  },
                  "nativeSrc": "2651:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2651:49:136"
                },
                {
                  "nativeSrc": "2709:54:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2709:54:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "2751:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2751:6:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "2759:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "2759:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_array_string_dyn",
                      "nativeSrc": "2723:27:136",
                      "nodeType": "YulIdentifier",
                      "src": "2723:27:136"
                    },
                    "nativeSrc": "2723:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2723:40:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "2713:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2713:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2783:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2783:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2794:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2794:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2779:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2779:3:136"
                        },
                        "nativeSrc": "2779:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2779:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "2803:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2803:6:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2811:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2811:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2799:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2799:3:136"
                        },
                        "nativeSrc": "2799:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2799:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2772:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2772:6:136"
                    },
                    "nativeSrc": "2772:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2772:50:136"
                  },
                  "nativeSrc": "2772:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2772:50:136"
                },
                {
                  "nativeSrc": "2831:19:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2831:19:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "2844:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "2844:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "2835:5:136",
                      "nodeType": "YulTypedName",
                      "src": "2835:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2859:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2859:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "2881:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2881:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2875:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2875:5:136"
                    },
                    "nativeSrc": "2875:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2875:13:136"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "2863:8:136",
                      "nodeType": "YulTypedName",
                      "src": "2863:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_2",
                        "nativeSrc": "2904:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2904:6:136"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "2912:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "2912:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2897:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2897:6:136"
                    },
                    "nativeSrc": "2897:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2897:24:136"
                  },
                  "nativeSrc": "2897:24:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2897:24:136"
                },
                {
                  "nativeSrc": "2930:26:136",
                  "nodeType": "YulAssignment",
                  "src": "2930:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail_2",
                        "nativeSrc": "2943:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2943:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2951:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2951:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2939:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2939:3:136"
                    },
                    "nativeSrc": "2939:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2939:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "2930:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2930:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "2965:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2965:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "2985:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2985:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2993:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2993:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2981:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2981:3:136"
                    },
                    "nativeSrc": "2981:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2981:17:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr_1",
                      "nativeSrc": "2969:8:136",
                      "nodeType": "YulTypedName",
                      "src": "2969:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3007:12:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3007:12:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "3018:1:136",
                    "nodeType": "YulLiteral",
                    "src": "3018:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i_1",
                      "nativeSrc": "3011:3:136",
                      "nodeType": "YulTypedName",
                      "src": "3011:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3085:136:136",
                    "nodeType": "YulBlock",
                    "src": "3085:136:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "3106:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "3106:5:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr_1",
                                  "nativeSrc": "3119:8:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "3119:8:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "3113:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "3113:5:136"
                              },
                              "nativeSrc": "3113:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "3113:15:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "3099:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3099:6:136"
                          },
                          "nativeSrc": "3099:30:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3099:30:136"
                        },
                        "nativeSrc": "3099:30:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3099:30:136"
                      },
                      {
                        "nativeSrc": "3142:25:136",
                        "nodeType": "YulAssignment",
                        "src": "3142:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "3155:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "3155:5:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3162:4:136",
                              "nodeType": "YulLiteral",
                              "src": "3162:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3151:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3151:3:136"
                          },
                          "nativeSrc": "3151:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3151:16:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "3142:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "3142:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "3180:31:136",
                        "nodeType": "YulAssignment",
                        "src": "3180:31:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr_1",
                              "nativeSrc": "3196:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "3196:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3206:4:136",
                              "nodeType": "YulLiteral",
                              "src": "3206:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3192:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3192:3:136"
                          },
                          "nativeSrc": "3192:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3192:19:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr_1",
                            "nativeSrc": "3180:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "3180:8:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i_1",
                        "nativeSrc": "3039:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "3039:3:136"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "3044:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "3044:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "3036:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3036:2:136"
                    },
                    "nativeSrc": "3036:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3036:17:136"
                  },
                  "nativeSrc": "3028:193:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "3054:22:136",
                    "nodeType": "YulBlock",
                    "src": "3054:22:136",
                    "statements": [
                      {
                        "nativeSrc": "3056:18:136",
                        "nodeType": "YulAssignment",
                        "src": "3056:18:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i_1",
                              "nativeSrc": "3067:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3067:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3072:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3072:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3063:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3063:3:136"
                          },
                          "nativeSrc": "3063:11:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3063:11:136"
                        },
                        "variableNames": [
                          {
                            "name": "i_1",
                            "nativeSrc": "3056:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3056:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "3032:3:136",
                    "nodeType": "YulBlock",
                    "src": "3032:3:136",
                    "statements": []
                  },
                  "src": "3028:193:136"
                },
                {
                  "nativeSrc": "3230:13:136",
                  "nodeType": "YulAssignment",
                  "src": "3230:13:136",
                  "value": {
                    "name": "pos_1",
                    "nativeSrc": "3238:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "3238:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "3230:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "3230:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "1849:1400:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2127:9:136",
                "nodeType": "YulTypedName",
                "src": "2127:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "2138:6:136",
                "nodeType": "YulTypedName",
                "src": "2138:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "2146:6:136",
                "nodeType": "YulTypedName",
                "src": "2146:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "2154:6:136",
                "nodeType": "YulTypedName",
                "src": "2154:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "2165:4:136",
                "nodeType": "YulTypedName",
                "src": "2165:4:136",
                "type": ""
              }
            ],
            "src": "1849:1400:136"
          },
          {
            "body": {
              "nativeSrc": "3327:275:136",
              "nodeType": "YulBlock",
              "src": "3327:275:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3376:16:136",
                    "nodeType": "YulBlock",
                    "src": "3376:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3385:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3385:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3388:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3388:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3378:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3378:6:136"
                          },
                          "nativeSrc": "3378:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3378:12:136"
                        },
                        "nativeSrc": "3378:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3378:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "3355:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "3355:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3363:4:136",
                                "nodeType": "YulLiteral",
                                "src": "3363:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3351:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3351:3:136"
                            },
                            "nativeSrc": "3351:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3351:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "3370:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3370:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "3347:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3347:3:136"
                        },
                        "nativeSrc": "3347:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3347:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3340:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3340:6:136"
                    },
                    "nativeSrc": "3340:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3340:35:136"
                  },
                  "nativeSrc": "3337:55:136",
                  "nodeType": "YulIf",
                  "src": "3337:55:136"
                },
                {
                  "nativeSrc": "3401:30:136",
                  "nodeType": "YulAssignment",
                  "src": "3401:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3424:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3424:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3411:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "3411:12:136"
                    },
                    "nativeSrc": "3411:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3411:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "3401:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3401:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3474:16:136",
                    "nodeType": "YulBlock",
                    "src": "3474:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3483:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3483:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3486:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3486:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3476:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3476:6:136"
                          },
                          "nativeSrc": "3476:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3476:12:136"
                        },
                        "nativeSrc": "3476:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3476:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "3446:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3446:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3454:18:136",
                        "nodeType": "YulLiteral",
                        "src": "3454:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3443:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3443:2:136"
                    },
                    "nativeSrc": "3443:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3443:30:136"
                  },
                  "nativeSrc": "3440:50:136",
                  "nodeType": "YulIf",
                  "src": "3440:50:136"
                },
                {
                  "nativeSrc": "3499:29:136",
                  "nodeType": "YulAssignment",
                  "src": "3499:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3515:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3515:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3523:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3523:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3511:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3511:3:136"
                    },
                    "nativeSrc": "3511:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3511:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "3499:8:136",
                      "nodeType": "YulIdentifier",
                      "src": "3499:8:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3580:16:136",
                    "nodeType": "YulBlock",
                    "src": "3580:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3589:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3589:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3592:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3592:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3582:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3582:6:136"
                          },
                          "nativeSrc": "3582:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3582:12:136"
                        },
                        "nativeSrc": "3582:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3582:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "3551:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "3551:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "3559:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "3559:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3547:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3547:3:136"
                            },
                            "nativeSrc": "3547:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3547:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3568:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3568:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3543:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3543:3:136"
                        },
                        "nativeSrc": "3543:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3543:30:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "3575:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "3575:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3540:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3540:2:136"
                    },
                    "nativeSrc": "3540:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3540:39:136"
                  },
                  "nativeSrc": "3537:59:136",
                  "nodeType": "YulIf",
                  "src": "3537:59:136"
                }
              ]
            },
            "name": "abi_decode_string_calldata",
            "nativeSrc": "3254:348:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "3290:6:136",
                "nodeType": "YulTypedName",
                "src": "3290:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "3298:3:136",
                "nodeType": "YulTypedName",
                "src": "3298:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "3306:8:136",
                "nodeType": "YulTypedName",
                "src": "3306:8:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "3316:6:136",
                "nodeType": "YulTypedName",
                "src": "3316:6:136",
                "type": ""
              }
            ],
            "src": "3254:348:136"
          },
          {
            "body": {
              "nativeSrc": "3652:86:136",
              "nodeType": "YulBlock",
              "src": "3652:86:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3716:16:136",
                    "nodeType": "YulBlock",
                    "src": "3716:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3725:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3725:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3728:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3728:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3718:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3718:6:136"
                          },
                          "nativeSrc": "3718:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3718:12:136"
                        },
                        "nativeSrc": "3718:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3718:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3675:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "3675:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "3686:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "3686:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "3701:3:136",
                                        "nodeType": "YulLiteral",
                                        "src": "3701:3:136",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "3706:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "3706:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "3697:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "3697:3:136"
                                    },
                                    "nativeSrc": "3697:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "3697:11:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3710:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "3710:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "3693:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "3693:3:136"
                                },
                                "nativeSrc": "3693:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "3693:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "3682:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3682:3:136"
                            },
                            "nativeSrc": "3682:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3682:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "3672:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "3672:2:136"
                        },
                        "nativeSrc": "3672:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3672:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3665:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3665:6:136"
                    },
                    "nativeSrc": "3665:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3665:50:136"
                  },
                  "nativeSrc": "3662:70:136",
                  "nodeType": "YulIf",
                  "src": "3662:70:136"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "3607:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3641:5:136",
                "nodeType": "YulTypedName",
                "src": "3641:5:136",
                "type": ""
              }
            ],
            "src": "3607:131:136"
          },
          {
            "body": {
              "nativeSrc": "3835:283:136",
              "nodeType": "YulBlock",
              "src": "3835:283:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3884:16:136",
                    "nodeType": "YulBlock",
                    "src": "3884:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3893:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3893:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3896:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3896:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3886:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3886:6:136"
                          },
                          "nativeSrc": "3886:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3886:12:136"
                        },
                        "nativeSrc": "3886:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3886:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "3863:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "3863:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3871:4:136",
                                "nodeType": "YulLiteral",
                                "src": "3871:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3859:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3859:3:136"
                            },
                            "nativeSrc": "3859:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3859:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "3878:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3878:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "3855:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3855:3:136"
                        },
                        "nativeSrc": "3855:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3855:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3848:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3848:6:136"
                    },
                    "nativeSrc": "3848:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3848:35:136"
                  },
                  "nativeSrc": "3845:55:136",
                  "nodeType": "YulIf",
                  "src": "3845:55:136"
                },
                {
                  "nativeSrc": "3909:30:136",
                  "nodeType": "YulAssignment",
                  "src": "3909:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3932:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3932:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3919:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "3919:12:136"
                    },
                    "nativeSrc": "3919:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3919:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "3909:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3909:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3982:16:136",
                    "nodeType": "YulBlock",
                    "src": "3982:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3991:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3991:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3994:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3994:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3984:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3984:6:136"
                          },
                          "nativeSrc": "3984:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3984:12:136"
                        },
                        "nativeSrc": "3984:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3984:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "3954:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3954:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3962:18:136",
                        "nodeType": "YulLiteral",
                        "src": "3962:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3951:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3951:2:136"
                    },
                    "nativeSrc": "3951:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3951:30:136"
                  },
                  "nativeSrc": "3948:50:136",
                  "nodeType": "YulIf",
                  "src": "3948:50:136"
                },
                {
                  "nativeSrc": "4007:29:136",
                  "nodeType": "YulAssignment",
                  "src": "4007:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4023:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4023:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4031:4:136",
                        "nodeType": "YulLiteral",
                        "src": "4031:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4019:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4019:3:136"
                    },
                    "nativeSrc": "4019:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4019:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "4007:8:136",
                      "nodeType": "YulIdentifier",
                      "src": "4007:8:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4096:16:136",
                    "nodeType": "YulBlock",
                    "src": "4096:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4105:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4105:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4108:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4108:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4098:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4098:6:136"
                          },
                          "nativeSrc": "4098:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4098:12:136"
                        },
                        "nativeSrc": "4098:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4098:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "4059:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "4059:6:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4071:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "4071:1:136",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "4074:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "4074:6:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "4067:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "4067:3:136"
                                },
                                "nativeSrc": "4067:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "4067:14:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4055:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4055:3:136"
                            },
                            "nativeSrc": "4055:27:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4055:27:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4084:4:136",
                            "nodeType": "YulLiteral",
                            "src": "4084:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4051:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4051:3:136"
                        },
                        "nativeSrc": "4051:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4051:38:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "4091:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "4091:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4048:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4048:2:136"
                    },
                    "nativeSrc": "4048:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4048:47:136"
                  },
                  "nativeSrc": "4045:67:136",
                  "nodeType": "YulIf",
                  "src": "4045:67:136"
                }
              ]
            },
            "name": "abi_decode_array_string_calldata_dyn_calldata",
            "nativeSrc": "3743:375:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "3798:6:136",
                "nodeType": "YulTypedName",
                "src": "3798:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "3806:3:136",
                "nodeType": "YulTypedName",
                "src": "3806:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "3814:8:136",
                "nodeType": "YulTypedName",
                "src": "3814:8:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "3824:6:136",
                "nodeType": "YulTypedName",
                "src": "3824:6:136",
                "type": ""
              }
            ],
            "src": "3743:375:136"
          },
          {
            "body": {
              "nativeSrc": "4294:726:136",
              "nodeType": "YulBlock",
              "src": "4294:726:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4340:16:136",
                    "nodeType": "YulBlock",
                    "src": "4340:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4349:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4349:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4352:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4352:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4342:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4342:6:136"
                          },
                          "nativeSrc": "4342:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4342:12:136"
                        },
                        "nativeSrc": "4342:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4342:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "4315:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "4315:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "4324:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4324:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "4311:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4311:3:136"
                        },
                        "nativeSrc": "4311:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4311:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4336:2:136",
                        "nodeType": "YulLiteral",
                        "src": "4336:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "4307:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4307:3:136"
                    },
                    "nativeSrc": "4307:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4307:32:136"
                  },
                  "nativeSrc": "4304:52:136",
                  "nodeType": "YulIf",
                  "src": "4304:52:136"
                },
                {
                  "nativeSrc": "4365:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4365:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4392:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "4392:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4379:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "4379:12:136"
                    },
                    "nativeSrc": "4379:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4379:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "4369:6:136",
                      "nodeType": "YulTypedName",
                      "src": "4369:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4445:16:136",
                    "nodeType": "YulBlock",
                    "src": "4445:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4454:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4454:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4457:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4457:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4447:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4447:6:136"
                          },
                          "nativeSrc": "4447:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4447:12:136"
                        },
                        "nativeSrc": "4447:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4447:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4417:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4417:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4425:18:136",
                        "nodeType": "YulLiteral",
                        "src": "4425:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4414:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4414:2:136"
                    },
                    "nativeSrc": "4414:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4414:30:136"
                  },
                  "nativeSrc": "4411:50:136",
                  "nodeType": "YulIf",
                  "src": "4411:50:136"
                },
                {
                  "nativeSrc": "4470:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4470:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4527:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4527:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "4538:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4538:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4523:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4523:3:136"
                        },
                        "nativeSrc": "4523:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4523:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "4547:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "4547:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "4496:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "4496:26:136"
                    },
                    "nativeSrc": "4496:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4496:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "4474:8:136",
                      "nodeType": "YulTypedName",
                      "src": "4474:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "4484:8:136",
                      "nodeType": "YulTypedName",
                      "src": "4484:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4564:18:136",
                  "nodeType": "YulAssignment",
                  "src": "4564:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "4574:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "4574:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "4564:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4564:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "4591:18:136",
                  "nodeType": "YulAssignment",
                  "src": "4591:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "4601:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "4601:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "4591:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4591:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "4618:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4618:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4648:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4648:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4659:2:136",
                            "nodeType": "YulLiteral",
                            "src": "4659:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4644:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4644:3:136"
                        },
                        "nativeSrc": "4644:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4644:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4631:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "4631:12:136"
                    },
                    "nativeSrc": "4631:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4631:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "4622:5:136",
                      "nodeType": "YulTypedName",
                      "src": "4622:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "4697:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "4697:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "4672:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "4672:24:136"
                    },
                    "nativeSrc": "4672:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4672:31:136"
                  },
                  "nativeSrc": "4672:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4672:31:136"
                },
                {
                  "nativeSrc": "4712:15:136",
                  "nodeType": "YulAssignment",
                  "src": "4712:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "4722:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "4722:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "4712:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4712:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "4736:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4736:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4769:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4769:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4780:2:136",
                            "nodeType": "YulLiteral",
                            "src": "4780:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4765:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4765:3:136"
                        },
                        "nativeSrc": "4765:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4765:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4752:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "4752:12:136"
                    },
                    "nativeSrc": "4752:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4752:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "4740:8:136",
                      "nodeType": "YulTypedName",
                      "src": "4740:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4829:16:136",
                    "nodeType": "YulBlock",
                    "src": "4829:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4838:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4838:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4841:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4841:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4831:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4831:6:136"
                          },
                          "nativeSrc": "4831:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4831:12:136"
                        },
                        "nativeSrc": "4831:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4831:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "4799:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "4799:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4809:18:136",
                        "nodeType": "YulLiteral",
                        "src": "4809:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4796:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4796:2:136"
                    },
                    "nativeSrc": "4796:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4796:32:136"
                  },
                  "nativeSrc": "4793:52:136",
                  "nodeType": "YulIf",
                  "src": "4793:52:136"
                },
                {
                  "nativeSrc": "4854:106:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4854:106:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4930:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4930:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "4941:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "4941:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4926:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4926:3:136"
                        },
                        "nativeSrc": "4926:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4926:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "4952:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "4952:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_calldata_dyn_calldata",
                      "nativeSrc": "4880:45:136",
                      "nodeType": "YulIdentifier",
                      "src": "4880:45:136"
                    },
                    "nativeSrc": "4880:80:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4880:80:136"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "4858:8:136",
                      "nodeType": "YulTypedName",
                      "src": "4858:8:136",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "4868:8:136",
                      "nodeType": "YulTypedName",
                      "src": "4868:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4969:18:136",
                  "nodeType": "YulAssignment",
                  "src": "4969:18:136",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "4979:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "4979:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "4969:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4969:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "4996:18:136",
                  "nodeType": "YulAssignment",
                  "src": "4996:18:136",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "5006:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "5006:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "4996:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4996:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_addresst_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "4123:897:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4228:9:136",
                "nodeType": "YulTypedName",
                "src": "4228:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "4239:7:136",
                "nodeType": "YulTypedName",
                "src": "4239:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "4251:6:136",
                "nodeType": "YulTypedName",
                "src": "4251:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "4259:6:136",
                "nodeType": "YulTypedName",
                "src": "4259:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "4267:6:136",
                "nodeType": "YulTypedName",
                "src": "4267:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "4275:6:136",
                "nodeType": "YulTypedName",
                "src": "4275:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "4283:6:136",
                "nodeType": "YulTypedName",
                "src": "4283:6:136",
                "type": ""
              }
            ],
            "src": "4123:897:136"
          },
          {
            "body": {
              "nativeSrc": "5126:102:136",
              "nodeType": "YulBlock",
              "src": "5126:102:136",
              "statements": [
                {
                  "nativeSrc": "5136:26:136",
                  "nodeType": "YulAssignment",
                  "src": "5136:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5148:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5148:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5159:2:136",
                        "nodeType": "YulLiteral",
                        "src": "5159:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5144:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5144:3:136"
                    },
                    "nativeSrc": "5144:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5144:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5136:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "5136:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5178:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5178:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "5193:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5193:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5209:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "5209:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5214:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "5214:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "5205:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "5205:3:136"
                                },
                                "nativeSrc": "5205:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "5205:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5218:1:136",
                                "nodeType": "YulLiteral",
                                "src": "5218:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "5201:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5201:3:136"
                            },
                            "nativeSrc": "5201:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5201:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5189:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5189:3:136"
                        },
                        "nativeSrc": "5189:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5189:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5171:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5171:6:136"
                    },
                    "nativeSrc": "5171:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5171:51:136"
                  },
                  "nativeSrc": "5171:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5171:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "5025:203:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5095:9:136",
                "nodeType": "YulTypedName",
                "src": "5095:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5106:6:136",
                "nodeType": "YulTypedName",
                "src": "5106:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5117:4:136",
                "nodeType": "YulTypedName",
                "src": "5117:4:136",
                "type": ""
              }
            ],
            "src": "5025:203:136"
          },
          {
            "body": {
              "nativeSrc": "5432:178:136",
              "nodeType": "YulBlock",
              "src": "5432:178:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5449:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5449:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "5464:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5464:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5480:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "5480:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5485:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "5485:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "5476:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "5476:3:136"
                                },
                                "nativeSrc": "5476:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "5476:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5489:1:136",
                                "nodeType": "YulLiteral",
                                "src": "5489:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "5472:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5472:3:136"
                            },
                            "nativeSrc": "5472:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5472:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5460:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5460:3:136"
                        },
                        "nativeSrc": "5460:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5460:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5442:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5442:6:136"
                    },
                    "nativeSrc": "5442:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5442:51:136"
                  },
                  "nativeSrc": "5442:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5442:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5513:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5513:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5524:2:136",
                            "nodeType": "YulLiteral",
                            "src": "5524:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5509:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5509:3:136"
                        },
                        "nativeSrc": "5509:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5509:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5529:2:136",
                        "nodeType": "YulLiteral",
                        "src": "5529:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5502:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5502:6:136"
                    },
                    "nativeSrc": "5502:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5502:30:136"
                  },
                  "nativeSrc": "5502:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5502:30:136"
                },
                {
                  "nativeSrc": "5541:63:136",
                  "nodeType": "YulAssignment",
                  "src": "5541:63:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "5577:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "5577:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5589:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5589:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5600:2:136",
                            "nodeType": "YulLiteral",
                            "src": "5600:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5585:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5585:3:136"
                        },
                        "nativeSrc": "5585:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5585:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_array_string_dyn",
                      "nativeSrc": "5549:27:136",
                      "nodeType": "YulIdentifier",
                      "src": "5549:27:136"
                    },
                    "nativeSrc": "5549:55:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5549:55:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5541:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "5541:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "5233:377:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5393:9:136",
                "nodeType": "YulTypedName",
                "src": "5393:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5404:6:136",
                "nodeType": "YulTypedName",
                "src": "5404:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5412:6:136",
                "nodeType": "YulTypedName",
                "src": "5412:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5423:4:136",
                "nodeType": "YulTypedName",
                "src": "5423:4:136",
                "type": ""
              }
            ],
            "src": "5233:377:136"
          },
          {
            "body": {
              "nativeSrc": "5647:95:136",
              "nodeType": "YulBlock",
              "src": "5647:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5664:1:136",
                        "nodeType": "YulLiteral",
                        "src": "5664:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "5671:3:136",
                            "nodeType": "YulLiteral",
                            "src": "5671:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5676:10:136",
                            "nodeType": "YulLiteral",
                            "src": "5676:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "5667:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5667:3:136"
                        },
                        "nativeSrc": "5667:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5667:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5657:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5657:6:136"
                    },
                    "nativeSrc": "5657:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5657:31:136"
                  },
                  "nativeSrc": "5657:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5657:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5704:1:136",
                        "nodeType": "YulLiteral",
                        "src": "5704:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5707:4:136",
                        "nodeType": "YulLiteral",
                        "src": "5707:4:136",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5697:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5697:6:136"
                    },
                    "nativeSrc": "5697:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5697:15:136"
                  },
                  "nativeSrc": "5697:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5697:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5728:1:136",
                        "nodeType": "YulLiteral",
                        "src": "5728:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5731:4:136",
                        "nodeType": "YulLiteral",
                        "src": "5731:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "5721:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5721:6:136"
                    },
                    "nativeSrc": "5721:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5721:15:136"
                  },
                  "nativeSrc": "5721:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5721:15:136"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "5615:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "5615:127:136"
          },
          {
            "body": {
              "nativeSrc": "5793:181:136",
              "nodeType": "YulBlock",
              "src": "5793:181:136",
              "statements": [
                {
                  "nativeSrc": "5803:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5803:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "5825:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "5825:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5833:4:136",
                        "nodeType": "YulLiteral",
                        "src": "5833:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5821:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5821:3:136"
                    },
                    "nativeSrc": "5821:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5821:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "5807:10:136",
                      "nodeType": "YulTypedName",
                      "src": "5807:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5913:22:136",
                    "nodeType": "YulBlock",
                    "src": "5913:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "5915:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "5915:16:136"
                          },
                          "nativeSrc": "5915:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5915:18:136"
                        },
                        "nativeSrc": "5915:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5915:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "5856:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "5856:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5868:18:136",
                            "nodeType": "YulLiteral",
                            "src": "5868:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "5853:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "5853:2:136"
                        },
                        "nativeSrc": "5853:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5853:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "5892:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "5892:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "5904:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5904:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "5889:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "5889:2:136"
                        },
                        "nativeSrc": "5889:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5889:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "5850:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "5850:2:136"
                    },
                    "nativeSrc": "5850:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5850:62:136"
                  },
                  "nativeSrc": "5847:88:136",
                  "nodeType": "YulIf",
                  "src": "5847:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5951:4:136",
                        "nodeType": "YulLiteral",
                        "src": "5951:4:136",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "5957:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "5957:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5944:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5944:6:136"
                    },
                    "nativeSrc": "5944:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5944:24:136"
                  },
                  "nativeSrc": "5944:24:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5944:24:136"
                }
              ]
            },
            "name": "finalize_allocation_7567",
            "nativeSrc": "5747:227:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "5781:6:136",
                "nodeType": "YulTypedName",
                "src": "5781:6:136",
                "type": ""
              }
            ],
            "src": "5747:227:136"
          },
          {
            "body": {
              "nativeSrc": "6025:179:136",
              "nodeType": "YulBlock",
              "src": "6025:179:136",
              "statements": [
                {
                  "nativeSrc": "6035:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6035:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6057:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6057:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6065:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6065:4:136",
                        "type": "",
                        "value": "0x80"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6053:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6053:3:136"
                    },
                    "nativeSrc": "6053:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6053:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6039:10:136",
                      "nodeType": "YulTypedName",
                      "src": "6039:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6145:22:136",
                    "nodeType": "YulBlock",
                    "src": "6145:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6147:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "6147:16:136"
                          },
                          "nativeSrc": "6147:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6147:18:136"
                        },
                        "nativeSrc": "6147:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6147:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6088:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6088:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6100:18:136",
                            "nodeType": "YulLiteral",
                            "src": "6100:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6085:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6085:2:136"
                        },
                        "nativeSrc": "6085:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6085:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6124:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6124:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6136:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6136:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6121:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6121:2:136"
                        },
                        "nativeSrc": "6121:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6121:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6082:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6082:2:136"
                    },
                    "nativeSrc": "6082:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6082:62:136"
                  },
                  "nativeSrc": "6079:88:136",
                  "nodeType": "YulIf",
                  "src": "6079:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6183:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6183:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6187:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "6187:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6176:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6176:6:136"
                    },
                    "nativeSrc": "6176:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6176:22:136"
                  },
                  "nativeSrc": "6176:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6176:22:136"
                }
              ]
            },
            "name": "finalize_allocation_7569",
            "nativeSrc": "5979:225:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "6013:6:136",
                "nodeType": "YulTypedName",
                "src": "6013:6:136",
                "type": ""
              }
            ],
            "src": "5979:225:136"
          },
          {
            "body": {
              "nativeSrc": "6255:179:136",
              "nodeType": "YulBlock",
              "src": "6255:179:136",
              "statements": [
                {
                  "nativeSrc": "6265:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6265:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6287:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6287:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6295:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6295:4:136",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6283:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6283:3:136"
                    },
                    "nativeSrc": "6283:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6283:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6269:10:136",
                      "nodeType": "YulTypedName",
                      "src": "6269:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6375:22:136",
                    "nodeType": "YulBlock",
                    "src": "6375:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6377:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "6377:16:136"
                          },
                          "nativeSrc": "6377:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6377:18:136"
                        },
                        "nativeSrc": "6377:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6377:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6318:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6318:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6330:18:136",
                            "nodeType": "YulLiteral",
                            "src": "6330:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6315:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6315:2:136"
                        },
                        "nativeSrc": "6315:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6315:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6354:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6354:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6366:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6366:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6351:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6351:2:136"
                        },
                        "nativeSrc": "6351:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6351:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6312:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6312:2:136"
                    },
                    "nativeSrc": "6312:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6312:62:136"
                  },
                  "nativeSrc": "6309:88:136",
                  "nodeType": "YulIf",
                  "src": "6309:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6413:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6413:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6417:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "6417:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6406:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6406:6:136"
                    },
                    "nativeSrc": "6406:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6406:22:136"
                  },
                  "nativeSrc": "6406:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6406:22:136"
                }
              ]
            },
            "name": "finalize_allocation_7582",
            "nativeSrc": "6209:225:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "6243:6:136",
                "nodeType": "YulTypedName",
                "src": "6243:6:136",
                "type": ""
              }
            ],
            "src": "6209:225:136"
          },
          {
            "body": {
              "nativeSrc": "6486:202:136",
              "nodeType": "YulBlock",
              "src": "6486:202:136",
              "statements": [
                {
                  "nativeSrc": "6496:58:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6496:58:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6518:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6518:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "6534:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "6534:4:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "6540:2:136",
                                "nodeType": "YulLiteral",
                                "src": "6540:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "6530:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "6530:3:136"
                            },
                            "nativeSrc": "6530:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "6530:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "6549:2:136",
                                "nodeType": "YulLiteral",
                                "src": "6549:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "6545:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "6545:3:136"
                            },
                            "nativeSrc": "6545:7:136",
                            "nodeType": "YulFunctionCall",
                            "src": "6545:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "6526:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6526:3:136"
                        },
                        "nativeSrc": "6526:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6526:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6514:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6514:3:136"
                    },
                    "nativeSrc": "6514:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6514:40:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6500:10:136",
                      "nodeType": "YulTypedName",
                      "src": "6500:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6629:22:136",
                    "nodeType": "YulBlock",
                    "src": "6629:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6631:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "6631:16:136"
                          },
                          "nativeSrc": "6631:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6631:18:136"
                        },
                        "nativeSrc": "6631:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6631:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6572:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6572:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6584:18:136",
                            "nodeType": "YulLiteral",
                            "src": "6584:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6569:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6569:2:136"
                        },
                        "nativeSrc": "6569:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6569:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6608:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6608:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6620:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6620:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6605:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6605:2:136"
                        },
                        "nativeSrc": "6605:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6605:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6566:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6566:2:136"
                    },
                    "nativeSrc": "6566:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6566:62:136"
                  },
                  "nativeSrc": "6563:88:136",
                  "nodeType": "YulIf",
                  "src": "6563:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6667:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6667:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6671:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "6671:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6660:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6660:6:136"
                    },
                    "nativeSrc": "6660:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6660:22:136"
                  },
                  "nativeSrc": "6660:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6660:22:136"
                }
              ]
            },
            "name": "finalize_allocation",
            "nativeSrc": "6439:249:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "6468:6:136",
                "nodeType": "YulTypedName",
                "src": "6468:6:136",
                "type": ""
              },
              {
                "name": "size",
                "nativeSrc": "6476:4:136",
                "nodeType": "YulTypedName",
                "src": "6476:4:136",
                "type": ""
              }
            ],
            "src": "6439:249:136"
          },
          {
            "body": {
              "nativeSrc": "6734:77:136",
              "nodeType": "YulBlock",
              "src": "6734:77:136",
              "statements": [
                {
                  "nativeSrc": "6744:19:136",
                  "nodeType": "YulAssignment",
                  "src": "6744:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6760:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6760:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "6754:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "6754:5:136"
                    },
                    "nativeSrc": "6754:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6754:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "6744:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6744:6:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6792:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6792:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6800:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6800:4:136",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "6772:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "6772:19:136"
                    },
                    "nativeSrc": "6772:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6772:33:136"
                  },
                  "nativeSrc": "6772:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6772:33:136"
                }
              ]
            },
            "name": "allocate_memory",
            "nativeSrc": "6693:118:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "6723:6:136",
                "nodeType": "YulTypedName",
                "src": "6723:6:136",
                "type": ""
              }
            ],
            "src": "6693:118:136"
          },
          {
            "body": {
              "nativeSrc": "6873:129:136",
              "nodeType": "YulBlock",
              "src": "6873:129:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6917:22:136",
                    "nodeType": "YulBlock",
                    "src": "6917:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6919:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "6919:16:136"
                          },
                          "nativeSrc": "6919:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6919:18:136"
                        },
                        "nativeSrc": "6919:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6919:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "6889:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6889:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6897:18:136",
                        "nodeType": "YulLiteral",
                        "src": "6897:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6886:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6886:2:136"
                    },
                    "nativeSrc": "6886:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6886:30:136"
                  },
                  "nativeSrc": "6883:56:136",
                  "nodeType": "YulIf",
                  "src": "6883:56:136"
                },
                {
                  "nativeSrc": "6948:48:136",
                  "nodeType": "YulAssignment",
                  "src": "6948:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "length",
                                "nativeSrc": "6968:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "6968:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "6976:2:136",
                                "nodeType": "YulLiteral",
                                "src": "6976:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "6964:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "6964:3:136"
                            },
                            "nativeSrc": "6964:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "6964:15:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "6985:2:136",
                                "nodeType": "YulLiteral",
                                "src": "6985:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "6981:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "6981:3:136"
                            },
                            "nativeSrc": "6981:7:136",
                            "nodeType": "YulFunctionCall",
                            "src": "6981:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "6960:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6960:3:136"
                        },
                        "nativeSrc": "6960:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6960:29:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6991:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6991:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6956:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6956:3:136"
                    },
                    "nativeSrc": "6956:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6956:40:136"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "6948:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "6948:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_bytes",
            "nativeSrc": "6816:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "6853:6:136",
                "nodeType": "YulTypedName",
                "src": "6853:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "6864:4:136",
                "nodeType": "YulTypedName",
                "src": "6864:4:136",
                "type": ""
              }
            ],
            "src": "6816:186:136"
          },
          {
            "body": {
              "nativeSrc": "7081:345:136",
              "nodeType": "YulBlock",
              "src": "7081:345:136",
              "statements": [
                {
                  "nativeSrc": "7091:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7091:45:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "7129:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7129:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "7101:27:136",
                      "nodeType": "YulIdentifier",
                      "src": "7101:27:136"
                    },
                    "nativeSrc": "7101:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7101:35:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "7095:2:136",
                      "nodeType": "YulTypedName",
                      "src": "7095:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7145:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7145:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7165:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7165:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "7159:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "7159:5:136"
                    },
                    "nativeSrc": "7159:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7159:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "7149:6:136",
                      "nodeType": "YulTypedName",
                      "src": "7149:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7197:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7197:6:136"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7205:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "7205:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "7177:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "7177:19:136"
                    },
                    "nativeSrc": "7177:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7177:31:136"
                  },
                  "nativeSrc": "7177:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7177:31:136"
                },
                {
                  "nativeSrc": "7217:15:136",
                  "nodeType": "YulAssignment",
                  "src": "7217:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "7226:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "7226:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "7217:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "7217:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7248:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7248:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "7256:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7256:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7241:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7241:6:136"
                    },
                    "nativeSrc": "7241:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7241:22:136"
                  },
                  "nativeSrc": "7241:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7241:22:136"
                },
                {
                  "body": {
                    "nativeSrc": "7301:16:136",
                    "nodeType": "YulBlock",
                    "src": "7301:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7310:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7310:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7313:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7313:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7303:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7303:6:136"
                          },
                          "nativeSrc": "7303:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7303:12:136"
                        },
                        "nativeSrc": "7303:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7303:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "src",
                            "nativeSrc": "7282:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "7282:3:136"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "7287:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7287:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7278:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7278:3:136"
                        },
                        "nativeSrc": "7278:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7278:16:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "7296:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "7296:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7275:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "7275:2:136"
                    },
                    "nativeSrc": "7275:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7275:25:136"
                  },
                  "nativeSrc": "7272:45:136",
                  "nodeType": "YulIf",
                  "src": "7272:45:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "7343:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7343:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7351:4:136",
                            "nodeType": "YulLiteral",
                            "src": "7351:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7339:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7339:3:136"
                        },
                        "nativeSrc": "7339:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7339:17:136"
                      },
                      {
                        "name": "src",
                        "nativeSrc": "7358:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "7358:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "7363:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7363:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "7326:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "7326:12:136"
                    },
                    "nativeSrc": "7326:44:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7326:44:136"
                  },
                  "nativeSrc": "7326:44:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7326:44:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "7394:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "7394:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "7402:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "7402:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7390:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7390:3:136"
                            },
                            "nativeSrc": "7390:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7390:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7411:4:136",
                            "nodeType": "YulLiteral",
                            "src": "7411:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7386:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7386:3:136"
                        },
                        "nativeSrc": "7386:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7386:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7418:1:136",
                        "nodeType": "YulLiteral",
                        "src": "7418:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7379:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7379:6:136"
                    },
                    "nativeSrc": "7379:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7379:41:136"
                  },
                  "nativeSrc": "7379:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7379:41:136"
                }
              ]
            },
            "name": "abi_decode_available_length_bytes",
            "nativeSrc": "7007:419:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "7050:3:136",
                "nodeType": "YulTypedName",
                "src": "7050:3:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "7055:6:136",
                "nodeType": "YulTypedName",
                "src": "7055:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "7063:3:136",
                "nodeType": "YulTypedName",
                "src": "7063:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "7071:5:136",
                "nodeType": "YulTypedName",
                "src": "7071:5:136",
                "type": ""
              }
            ],
            "src": "7007:419:136"
          },
          {
            "body": {
              "nativeSrc": "7510:370:136",
              "nodeType": "YulBlock",
              "src": "7510:370:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7556:16:136",
                    "nodeType": "YulBlock",
                    "src": "7556:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7565:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7565:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7568:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7568:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7558:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7558:6:136"
                          },
                          "nativeSrc": "7558:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7558:12:136"
                        },
                        "nativeSrc": "7558:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7558:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7531:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "7531:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "7540:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7540:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7527:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7527:3:136"
                        },
                        "nativeSrc": "7527:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7527:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7552:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7552:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7523:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7523:3:136"
                    },
                    "nativeSrc": "7523:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7523:32:136"
                  },
                  "nativeSrc": "7520:52:136",
                  "nodeType": "YulIf",
                  "src": "7520:52:136"
                },
                {
                  "nativeSrc": "7581:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7581:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7608:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7608:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7595:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "7595:12:136"
                    },
                    "nativeSrc": "7595:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7595:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "7585:6:136",
                      "nodeType": "YulTypedName",
                      "src": "7585:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7661:16:136",
                    "nodeType": "YulBlock",
                    "src": "7661:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7670:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7670:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7673:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7673:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7663:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7663:6:136"
                          },
                          "nativeSrc": "7663:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7663:12:136"
                        },
                        "nativeSrc": "7663:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7663:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "7633:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7633:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7641:18:136",
                        "nodeType": "YulLiteral",
                        "src": "7641:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7630:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "7630:2:136"
                    },
                    "nativeSrc": "7630:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7630:30:136"
                  },
                  "nativeSrc": "7627:50:136",
                  "nodeType": "YulIf",
                  "src": "7627:50:136"
                },
                {
                  "nativeSrc": "7686:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7686:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7700:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7700:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "7711:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7711:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7696:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7696:3:136"
                    },
                    "nativeSrc": "7696:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7696:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "7690:2:136",
                      "nodeType": "YulTypedName",
                      "src": "7690:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7766:16:136",
                    "nodeType": "YulBlock",
                    "src": "7766:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7775:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7775:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7778:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7778:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7768:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7768:6:136"
                          },
                          "nativeSrc": "7768:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7768:12:136"
                        },
                        "nativeSrc": "7768:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7768:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "7745:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "7745:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7749:4:136",
                                "nodeType": "YulLiteral",
                                "src": "7749:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7741:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7741:3:136"
                            },
                            "nativeSrc": "7741:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7741:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7756:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "7756:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "7737:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7737:3:136"
                        },
                        "nativeSrc": "7737:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7737:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "7730:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7730:6:136"
                    },
                    "nativeSrc": "7730:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7730:35:136"
                  },
                  "nativeSrc": "7727:55:136",
                  "nodeType": "YulIf",
                  "src": "7727:55:136"
                },
                {
                  "nativeSrc": "7791:83:136",
                  "nodeType": "YulAssignment",
                  "src": "7791:83:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "7839:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "7839:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7843:2:136",
                            "nodeType": "YulLiteral",
                            "src": "7843:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7835:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7835:3:136"
                        },
                        "nativeSrc": "7835:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7835:11:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "7861:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "7861:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "7848:12:136",
                          "nodeType": "YulIdentifier",
                          "src": "7848:12:136"
                        },
                        "nativeSrc": "7848:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7848:16:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "7866:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "7866:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "7801:33:136",
                      "nodeType": "YulIdentifier",
                      "src": "7801:33:136"
                    },
                    "nativeSrc": "7801:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7801:73:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "7791:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7791:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "7431:449:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7476:9:136",
                "nodeType": "YulTypedName",
                "src": "7476:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7487:7:136",
                "nodeType": "YulTypedName",
                "src": "7487:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7499:6:136",
                "nodeType": "YulTypedName",
                "src": "7499:6:136",
                "type": ""
              }
            ],
            "src": "7431:449:136"
          },
          {
            "body": {
              "nativeSrc": "8046:271:136",
              "nodeType": "YulBlock",
              "src": "8046:271:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8063:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8063:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8074:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8074:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8056:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8056:6:136"
                    },
                    "nativeSrc": "8056:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8056:21:136"
                  },
                  "nativeSrc": "8056:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8056:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8097:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8097:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8108:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8108:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8093:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8093:3:136"
                        },
                        "nativeSrc": "8093:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8093:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "8123:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "8123:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "8117:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "8117:5:136"
                            },
                            "nativeSrc": "8117:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "8117:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8132:4:136",
                            "nodeType": "YulLiteral",
                            "src": "8132:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "8113:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8113:3:136"
                        },
                        "nativeSrc": "8113:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8113:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8086:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8086:6:136"
                    },
                    "nativeSrc": "8086:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8086:52:136"
                  },
                  "nativeSrc": "8086:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8086:52:136"
                },
                {
                  "nativeSrc": "8147:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8147:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "8177:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8177:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8185:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8185:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8173:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8173:3:136"
                        },
                        "nativeSrc": "8173:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8173:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8167:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "8167:5:136"
                    },
                    "nativeSrc": "8167:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8167:22:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "8151:12:136",
                      "nodeType": "YulTypedName",
                      "src": "8151:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8209:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8209:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8220:4:136",
                            "nodeType": "YulLiteral",
                            "src": "8220:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8205:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8205:3:136"
                        },
                        "nativeSrc": "8205:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8205:20:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8227:4:136",
                        "nodeType": "YulLiteral",
                        "src": "8227:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8198:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8198:6:136"
                    },
                    "nativeSrc": "8198:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8198:34:136"
                  },
                  "nativeSrc": "8198:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8198:34:136"
                },
                {
                  "nativeSrc": "8241:70:136",
                  "nodeType": "YulAssignment",
                  "src": "8241:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "8278:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "8278:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8296:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8296:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8307:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8307:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8292:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8292:3:136"
                        },
                        "nativeSrc": "8292:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8292:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "8249:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "8249:28:136"
                    },
                    "nativeSrc": "8249:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8249:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8241:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "8241:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_ResultError_$28705_memory_ptr__to_t_struct$_ResultError_$28705_memory_ptr__fromStack_reversed",
            "nativeSrc": "7885:432:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8015:9:136",
                "nodeType": "YulTypedName",
                "src": "8015:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8026:6:136",
                "nodeType": "YulTypedName",
                "src": "8026:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8037:4:136",
                "nodeType": "YulTypedName",
                "src": "8037:4:136",
                "type": ""
              }
            ],
            "src": "7885:432:136"
          },
          {
            "body": {
              "nativeSrc": "8441:110:136",
              "nodeType": "YulBlock",
              "src": "8441:110:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8458:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8458:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8469:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8469:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8451:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8451:6:136"
                    },
                    "nativeSrc": "8451:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8451:21:136"
                  },
                  "nativeSrc": "8451:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8451:21:136"
                },
                {
                  "nativeSrc": "8481:64:136",
                  "nodeType": "YulAssignment",
                  "src": "8481:64:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "8518:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "8518:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8530:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8530:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8541:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8541:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8526:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8526:3:136"
                        },
                        "nativeSrc": "8526:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8526:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "8489:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "8489:28:136"
                    },
                    "nativeSrc": "8489:56:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8489:56:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8481:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "8481:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "8322:229:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8410:9:136",
                "nodeType": "YulTypedName",
                "src": "8410:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8421:6:136",
                "nodeType": "YulTypedName",
                "src": "8421:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8432:4:136",
                "nodeType": "YulTypedName",
                "src": "8432:4:136",
                "type": ""
              }
            ],
            "src": "8322:229:136"
          },
          {
            "body": {
              "nativeSrc": "8657:76:136",
              "nodeType": "YulBlock",
              "src": "8657:76:136",
              "statements": [
                {
                  "nativeSrc": "8667:26:136",
                  "nodeType": "YulAssignment",
                  "src": "8667:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8679:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8679:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8690:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8690:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8675:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8675:3:136"
                    },
                    "nativeSrc": "8675:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8675:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8667:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "8667:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8709:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8709:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "8720:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "8720:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8702:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8702:6:136"
                    },
                    "nativeSrc": "8702:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8702:25:136"
                  },
                  "nativeSrc": "8702:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8702:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "8556:177:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8626:9:136",
                "nodeType": "YulTypedName",
                "src": "8626:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8637:6:136",
                "nodeType": "YulTypedName",
                "src": "8637:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8648:4:136",
                "nodeType": "YulTypedName",
                "src": "8648:4:136",
                "type": ""
              }
            ],
            "src": "8556:177:136"
          },
          {
            "body": {
              "nativeSrc": "8833:92:136",
              "nodeType": "YulBlock",
              "src": "8833:92:136",
              "statements": [
                {
                  "nativeSrc": "8843:26:136",
                  "nodeType": "YulAssignment",
                  "src": "8843:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8855:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8855:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8866:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8866:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8851:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8851:3:136"
                    },
                    "nativeSrc": "8851:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8851:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8843:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "8843:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8885:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8885:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "8910:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "8910:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "8903:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "8903:6:136"
                            },
                            "nativeSrc": "8903:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "8903:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "8896:6:136",
                          "nodeType": "YulIdentifier",
                          "src": "8896:6:136"
                        },
                        "nativeSrc": "8896:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8896:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8878:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8878:6:136"
                    },
                    "nativeSrc": "8878:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8878:41:136"
                  },
                  "nativeSrc": "8878:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8878:41:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
            "nativeSrc": "8738:187:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8802:9:136",
                "nodeType": "YulTypedName",
                "src": "8802:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8813:6:136",
                "nodeType": "YulTypedName",
                "src": "8813:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8824:4:136",
                "nodeType": "YulTypedName",
                "src": "8824:4:136",
                "type": ""
              }
            ],
            "src": "8738:187:136"
          },
          {
            "body": {
              "nativeSrc": "9051:110:136",
              "nodeType": "YulBlock",
              "src": "9051:110:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9068:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9068:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9079:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9079:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9061:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9061:6:136"
                    },
                    "nativeSrc": "9061:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9061:21:136"
                  },
                  "nativeSrc": "9061:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9061:21:136"
                },
                {
                  "nativeSrc": "9091:64:136",
                  "nodeType": "YulAssignment",
                  "src": "9091:64:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "9128:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9128:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9140:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9140:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9151:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9151:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9136:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9136:3:136"
                        },
                        "nativeSrc": "9136:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9136:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "9099:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "9099:28:136"
                    },
                    "nativeSrc": "9099:56:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9099:56:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9091:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "9091:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "8930:231:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9020:9:136",
                "nodeType": "YulTypedName",
                "src": "9020:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9031:6:136",
                "nodeType": "YulTypedName",
                "src": "9031:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9042:4:136",
                "nodeType": "YulTypedName",
                "src": "9042:4:136",
                "type": ""
              }
            ],
            "src": "8930:231:136"
          },
          {
            "body": {
              "nativeSrc": "9329:449:136",
              "nodeType": "YulBlock",
              "src": "9329:449:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9346:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9346:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9357:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9357:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9339:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9339:6:136"
                    },
                    "nativeSrc": "9339:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9339:21:136"
                  },
                  "nativeSrc": "9339:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9339:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9380:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9380:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9391:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9391:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9376:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9376:3:136"
                        },
                        "nativeSrc": "9376:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9376:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "9406:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "9406:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "9400:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "9400:5:136"
                            },
                            "nativeSrc": "9400:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9400:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9423:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "9423:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9428:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "9428:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "9419:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "9419:3:136"
                                },
                                "nativeSrc": "9419:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "9419:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9432:1:136",
                                "nodeType": "YulLiteral",
                                "src": "9432:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "9415:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "9415:3:136"
                            },
                            "nativeSrc": "9415:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9415:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9396:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9396:3:136"
                        },
                        "nativeSrc": "9396:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9396:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9369:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9369:6:136"
                    },
                    "nativeSrc": "9369:67:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9369:67:136"
                  },
                  "nativeSrc": "9369:67:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9369:67:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9456:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9456:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9467:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9467:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9452:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9452:3:136"
                        },
                        "nativeSrc": "9452:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9452:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "9486:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "9486:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9494:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "9494:2:136",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "9482:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "9482:3:136"
                                },
                                "nativeSrc": "9482:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "9482:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "9476:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "9476:5:136"
                            },
                            "nativeSrc": "9476:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9476:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9500:8:136",
                            "nodeType": "YulLiteral",
                            "src": "9500:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9472:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9472:3:136"
                        },
                        "nativeSrc": "9472:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9472:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9445:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9445:6:136"
                    },
                    "nativeSrc": "9445:65:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9445:65:136"
                  },
                  "nativeSrc": "9445:65:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9445:65:136"
                },
                {
                  "nativeSrc": "9519:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9519:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "9549:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9549:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9557:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9557:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9545:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9545:3:136"
                        },
                        "nativeSrc": "9545:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9545:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9539:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "9539:5:136"
                    },
                    "nativeSrc": "9539:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9539:22:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "9523:12:136",
                      "nodeType": "YulTypedName",
                      "src": "9523:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9581:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9581:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9592:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9592:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9577:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9577:3:136"
                        },
                        "nativeSrc": "9577:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9577:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9597:4:136",
                        "nodeType": "YulLiteral",
                        "src": "9597:4:136",
                        "type": "",
                        "value": "0x80"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9570:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9570:6:136"
                    },
                    "nativeSrc": "9570:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9570:32:136"
                  },
                  "nativeSrc": "9570:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9570:32:136"
                },
                {
                  "nativeSrc": "9611:77:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9611:77:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "9654:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "9654:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9672:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9672:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9683:3:136",
                            "nodeType": "YulLiteral",
                            "src": "9683:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9668:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9668:3:136"
                        },
                        "nativeSrc": "9668:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9668:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "9625:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "9625:28:136"
                    },
                    "nativeSrc": "9625:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9625:63:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "9615:6:136",
                      "nodeType": "YulTypedName",
                      "src": "9615:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9708:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9708:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9719:4:136",
                            "nodeType": "YulLiteral",
                            "src": "9719:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9704:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9704:3:136"
                        },
                        "nativeSrc": "9704:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9704:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "9736:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "9736:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9744:2:136",
                                "nodeType": "YulLiteral",
                                "src": "9744:2:136",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9732:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "9732:3:136"
                            },
                            "nativeSrc": "9732:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9732:15:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "9726:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "9726:5:136"
                        },
                        "nativeSrc": "9726:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9726:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9697:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9697:6:136"
                    },
                    "nativeSrc": "9697:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9697:52:136"
                  },
                  "nativeSrc": "9697:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9697:52:136"
                },
                {
                  "nativeSrc": "9758:14:136",
                  "nodeType": "YulAssignment",
                  "src": "9758:14:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "9766:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "9766:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9758:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "9758:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_QueryRequest_$37351_memory_ptr__to_t_struct$_QueryRequest_$37351_memory_ptr__fromStack_reversed",
            "nativeSrc": "9166:612:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9298:9:136",
                "nodeType": "YulTypedName",
                "src": "9298:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9309:6:136",
                "nodeType": "YulTypedName",
                "src": "9309:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9320:4:136",
                "nodeType": "YulTypedName",
                "src": "9320:4:136",
                "type": ""
              }
            ],
            "src": "9166:612:136"
          },
          {
            "body": {
              "nativeSrc": "9815:95:136",
              "nodeType": "YulBlock",
              "src": "9815:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9832:1:136",
                        "nodeType": "YulLiteral",
                        "src": "9832:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "9839:3:136",
                            "nodeType": "YulLiteral",
                            "src": "9839:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9844:10:136",
                            "nodeType": "YulLiteral",
                            "src": "9844:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "9835:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9835:3:136"
                        },
                        "nativeSrc": "9835:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9835:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9825:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9825:6:136"
                    },
                    "nativeSrc": "9825:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9825:31:136"
                  },
                  "nativeSrc": "9825:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9825:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9872:1:136",
                        "nodeType": "YulLiteral",
                        "src": "9872:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9875:4:136",
                        "nodeType": "YulLiteral",
                        "src": "9875:4:136",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9865:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9865:6:136"
                    },
                    "nativeSrc": "9865:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9865:15:136"
                  },
                  "nativeSrc": "9865:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9865:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9896:1:136",
                        "nodeType": "YulLiteral",
                        "src": "9896:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9899:4:136",
                        "nodeType": "YulLiteral",
                        "src": "9899:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "9889:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9889:6:136"
                    },
                    "nativeSrc": "9889:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9889:15:136"
                  },
                  "nativeSrc": "9889:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9889:15:136"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "9783:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "9783:127:136"
          },
          {
            "body": {
              "nativeSrc": "9971:90:136",
              "nodeType": "YulBlock",
              "src": "9971:90:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10006:22:136",
                    "nodeType": "YulBlock",
                    "src": "10006:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "10008:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "10008:16:136"
                          },
                          "nativeSrc": "10008:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10008:18:136"
                        },
                        "nativeSrc": "10008:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "10008:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "9994:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "9994:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10001:2:136",
                            "nodeType": "YulLiteral",
                            "src": "10001:2:136",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "9991:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "9991:2:136"
                        },
                        "nativeSrc": "9991:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9991:13:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "9984:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9984:6:136"
                    },
                    "nativeSrc": "9984:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9984:21:136"
                  },
                  "nativeSrc": "9981:47:136",
                  "nodeType": "YulIf",
                  "src": "9981:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "10044:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "10044:3:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "10049:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "10049:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10037:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10037:6:136"
                    },
                    "nativeSrc": "10037:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10037:18:136"
                  },
                  "nativeSrc": "10037:18:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10037:18:136"
                }
              ]
            },
            "name": "abi_encode_enum_RadonDataTypes",
            "nativeSrc": "9915:146:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "9955:5:136",
                "nodeType": "YulTypedName",
                "src": "9955:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "9962:3:136",
                "nodeType": "YulTypedName",
                "src": "9962:3:136",
                "type": ""
              }
            ],
            "src": "9915:146:136"
          },
          {
            "body": {
              "nativeSrc": "10185:100:136",
              "nodeType": "YulBlock",
              "src": "10185:100:136",
              "statements": [
                {
                  "nativeSrc": "10195:26:136",
                  "nodeType": "YulAssignment",
                  "src": "10195:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10207:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10207:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10218:2:136",
                        "nodeType": "YulLiteral",
                        "src": "10218:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10203:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10203:3:136"
                    },
                    "nativeSrc": "10203:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10203:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10195:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10195:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10261:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "10261:6:136"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "10269:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10269:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_RadonDataTypes",
                      "nativeSrc": "10230:30:136",
                      "nodeType": "YulIdentifier",
                      "src": "10230:30:136"
                    },
                    "nativeSrc": "10230:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10230:49:136"
                  },
                  "nativeSrc": "10230:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10230:49:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_RadonDataTypes_$37720__to_t_uint8__fromStack_reversed",
            "nativeSrc": "10066:219:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10154:9:136",
                "nodeType": "YulTypedName",
                "src": "10154:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10165:6:136",
                "nodeType": "YulTypedName",
                "src": "10165:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10176:4:136",
                "nodeType": "YulTypedName",
                "src": "10176:4:136",
                "type": ""
              }
            ],
            "src": "10066:219:136"
          },
          {
            "body": {
              "nativeSrc": "10387:87:136",
              "nodeType": "YulBlock",
              "src": "10387:87:136",
              "statements": [
                {
                  "nativeSrc": "10397:26:136",
                  "nodeType": "YulAssignment",
                  "src": "10397:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10409:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10409:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10420:2:136",
                        "nodeType": "YulLiteral",
                        "src": "10420:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10405:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10405:3:136"
                    },
                    "nativeSrc": "10405:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10405:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10397:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10397:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10439:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10439:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "10454:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10454:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10462:4:136",
                            "nodeType": "YulLiteral",
                            "src": "10462:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10450:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10450:3:136"
                        },
                        "nativeSrc": "10450:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10450:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10432:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10432:6:136"
                    },
                    "nativeSrc": "10432:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10432:36:136"
                  },
                  "nativeSrc": "10432:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10432:36:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
            "nativeSrc": "10290:184:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10356:9:136",
                "nodeType": "YulTypedName",
                "src": "10356:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10367:6:136",
                "nodeType": "YulTypedName",
                "src": "10367:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10378:4:136",
                "nodeType": "YulTypedName",
                "src": "10378:4:136",
                "type": ""
              }
            ],
            "src": "10290:184:136"
          },
          {
            "body": {
              "nativeSrc": "10549:177:136",
              "nodeType": "YulBlock",
              "src": "10549:177:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10595:16:136",
                    "nodeType": "YulBlock",
                    "src": "10595:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10604:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10604:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10607:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10607:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10597:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10597:6:136"
                          },
                          "nativeSrc": "10597:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10597:12:136"
                        },
                        "nativeSrc": "10597:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "10597:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "10570:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "10570:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "10579:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10579:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "10566:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10566:3:136"
                        },
                        "nativeSrc": "10566:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10566:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10591:2:136",
                        "nodeType": "YulLiteral",
                        "src": "10591:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "10562:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10562:3:136"
                    },
                    "nativeSrc": "10562:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10562:32:136"
                  },
                  "nativeSrc": "10559:52:136",
                  "nodeType": "YulIf",
                  "src": "10559:52:136"
                },
                {
                  "nativeSrc": "10620:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10620:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10646:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10646:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "10633:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "10633:12:136"
                    },
                    "nativeSrc": "10633:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10633:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "10624:5:136",
                      "nodeType": "YulTypedName",
                      "src": "10624:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "10690:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "10690:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "10665:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "10665:24:136"
                    },
                    "nativeSrc": "10665:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10665:31:136"
                  },
                  "nativeSrc": "10665:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10665:31:136"
                },
                {
                  "nativeSrc": "10705:15:136",
                  "nodeType": "YulAssignment",
                  "src": "10705:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "10715:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "10715:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "10705:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10705:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "10479:247:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10515:9:136",
                "nodeType": "YulTypedName",
                "src": "10515:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "10526:7:136",
                "nodeType": "YulTypedName",
                "src": "10526:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "10538:6:136",
                "nodeType": "YulTypedName",
                "src": "10538:6:136",
                "type": ""
              }
            ],
            "src": "10479:247:136"
          },
          {
            "body": {
              "nativeSrc": "10890:433:136",
              "nodeType": "YulBlock",
              "src": "10890:433:136",
              "statements": [
                {
                  "nativeSrc": "10900:27:136",
                  "nodeType": "YulAssignment",
                  "src": "10900:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10912:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10912:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10923:3:136",
                        "nodeType": "YulLiteral",
                        "src": "10923:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10908:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10908:3:136"
                    },
                    "nativeSrc": "10908:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10908:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10900:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10900:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10943:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10943:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "10964:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "10964:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "10958:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "10958:5:136"
                            },
                            "nativeSrc": "10958:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10958:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10973:4:136",
                            "nodeType": "YulLiteral",
                            "src": "10973:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10954:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10954:3:136"
                        },
                        "nativeSrc": "10954:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10954:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10936:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10936:6:136"
                    },
                    "nativeSrc": "10936:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10936:43:136"
                  },
                  "nativeSrc": "10936:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10936:43:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10999:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10999:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11010:4:136",
                            "nodeType": "YulLiteral",
                            "src": "11010:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10995:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10995:3:136"
                        },
                        "nativeSrc": "10995:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10995:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "11031:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "11031:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "11039:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "11039:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "11027:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11027:3:136"
                                },
                                "nativeSrc": "11027:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "11027:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "11021:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "11021:5:136"
                            },
                            "nativeSrc": "11021:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11021:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11047:4:136",
                            "nodeType": "YulLiteral",
                            "src": "11047:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11017:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11017:3:136"
                        },
                        "nativeSrc": "11017:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11017:35:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10988:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10988:6:136"
                    },
                    "nativeSrc": "10988:65:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10988:65:136"
                  },
                  "nativeSrc": "10988:65:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10988:65:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11073:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "11073:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11084:4:136",
                            "nodeType": "YulLiteral",
                            "src": "11084:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11069:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11069:3:136"
                        },
                        "nativeSrc": "11069:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11069:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "11105:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "11105:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "11113:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "11113:4:136",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "11101:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11101:3:136"
                                },
                                "nativeSrc": "11101:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "11101:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "11095:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "11095:5:136"
                            },
                            "nativeSrc": "11095:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11095:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11121:18:136",
                            "nodeType": "YulLiteral",
                            "src": "11121:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11091:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11091:3:136"
                        },
                        "nativeSrc": "11091:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11091:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11062:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11062:6:136"
                    },
                    "nativeSrc": "11062:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11062:79:136"
                  },
                  "nativeSrc": "11062:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11062:79:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11161:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "11161:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11172:4:136",
                            "nodeType": "YulLiteral",
                            "src": "11172:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11157:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11157:3:136"
                        },
                        "nativeSrc": "11157:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11157:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "11193:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "11193:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "11201:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "11201:4:136",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "11189:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11189:3:136"
                                },
                                "nativeSrc": "11189:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "11189:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "11183:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "11183:5:136"
                            },
                            "nativeSrc": "11183:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11183:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11209:18:136",
                            "nodeType": "YulLiteral",
                            "src": "11209:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11179:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11179:3:136"
                        },
                        "nativeSrc": "11179:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11179:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11150:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11150:6:136"
                    },
                    "nativeSrc": "11150:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11150:79:136"
                  },
                  "nativeSrc": "11150:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11150:79:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11249:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "11249:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11260:4:136",
                            "nodeType": "YulLiteral",
                            "src": "11260:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11245:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11245:3:136"
                        },
                        "nativeSrc": "11245:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11245:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "11281:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "11281:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "11289:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "11289:4:136",
                                    "type": "",
                                    "value": "0x80"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "11277:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11277:3:136"
                                },
                                "nativeSrc": "11277:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "11277:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "11271:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "11271:5:136"
                            },
                            "nativeSrc": "11271:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11271:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11297:18:136",
                            "nodeType": "YulLiteral",
                            "src": "11297:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11267:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11267:3:136"
                        },
                        "nativeSrc": "11267:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11267:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11238:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11238:6:136"
                    },
                    "nativeSrc": "11238:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11238:79:136"
                  },
                  "nativeSrc": "11238:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11238:79:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_RadonSLAv1_$29141_memory_ptr__to_t_struct$_RadonSLAv1_$29141_memory_ptr__fromStack_reversed",
            "nativeSrc": "10731:592:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10859:9:136",
                "nodeType": "YulTypedName",
                "src": "10859:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10870:6:136",
                "nodeType": "YulTypedName",
                "src": "10870:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10881:4:136",
                "nodeType": "YulTypedName",
                "src": "10881:4:136",
                "type": ""
              }
            ],
            "src": "10731:592:136"
          },
          {
            "body": {
              "nativeSrc": "11391:89:136",
              "nodeType": "YulBlock",
              "src": "11391:89:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11425:22:136",
                    "nodeType": "YulBlock",
                    "src": "11425:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "11427:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "11427:16:136"
                          },
                          "nativeSrc": "11427:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11427:18:136"
                        },
                        "nativeSrc": "11427:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11427:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11414:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "11414:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11421:1:136",
                            "nodeType": "YulLiteral",
                            "src": "11421:1:136",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "11411:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "11411:2:136"
                        },
                        "nativeSrc": "11411:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11411:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11404:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11404:6:136"
                    },
                    "nativeSrc": "11404:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11404:20:136"
                  },
                  "nativeSrc": "11401:46:136",
                  "nodeType": "YulIf",
                  "src": "11401:46:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11463:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11463:3:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "11468:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "11468:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11456:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11456:6:136"
                    },
                    "nativeSrc": "11456:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11456:18:136"
                  },
                  "nativeSrc": "11456:18:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11456:18:136"
                }
              ]
            },
            "name": "abi_encode_enum_RadonRetrievalMethods",
            "nativeSrc": "11328:152:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11375:5:136",
                "nodeType": "YulTypedName",
                "src": "11375:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "11382:3:136",
                "nodeType": "YulTypedName",
                "src": "11382:3:136",
                "type": ""
              }
            ],
            "src": "11328:152:136"
          },
          {
            "body": {
              "nativeSrc": "11551:979:136",
              "nodeType": "YulBlock",
              "src": "11551:979:136",
              "statements": [
                {
                  "nativeSrc": "11561:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11561:16:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "11574:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "11574:3:136"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "11565:5:136",
                      "nodeType": "YulTypedName",
                      "src": "11565:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11586:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11586:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "11606:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "11606:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11600:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "11600:5:136"
                    },
                    "nativeSrc": "11600:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11600:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "11590:6:136",
                      "nodeType": "YulTypedName",
                      "src": "11590:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11628:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11628:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11633:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11633:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11621:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11621:6:136"
                    },
                    "nativeSrc": "11621:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11621:19:136"
                  },
                  "nativeSrc": "11621:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11621:19:136"
                },
                {
                  "nativeSrc": "11649:21:136",
                  "nodeType": "YulAssignment",
                  "src": "11649:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11660:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11660:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11665:4:136",
                        "nodeType": "YulLiteral",
                        "src": "11665:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11656:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11656:3:136"
                    },
                    "nativeSrc": "11656:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11656:14:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "11649:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11649:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "11679:49:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11679:49:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "11699:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "11699:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "11710:1:136",
                                "nodeType": "YulLiteral",
                                "src": "11710:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "11713:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "11713:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "11706:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "11706:3:136"
                            },
                            "nativeSrc": "11706:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11706:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11695:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11695:3:136"
                        },
                        "nativeSrc": "11695:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11695:26:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11723:4:136",
                        "nodeType": "YulLiteral",
                        "src": "11723:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11691:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11691:3:136"
                    },
                    "nativeSrc": "11691:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11691:37:136"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "11683:4:136",
                      "nodeType": "YulTypedName",
                      "src": "11683:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11737:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11737:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "11755:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "11755:5:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11762:4:136",
                        "nodeType": "YulLiteral",
                        "src": "11762:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11751:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11751:3:136"
                    },
                    "nativeSrc": "11751:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11751:16:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "11741:6:136",
                      "nodeType": "YulTypedName",
                      "src": "11741:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11776:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11776:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11785:1:136",
                    "nodeType": "YulLiteral",
                    "src": "11785:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "11780:1:136",
                      "nodeType": "YulTypedName",
                      "src": "11780:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11844:660:136",
                    "nodeType": "YulBlock",
                    "src": "11844:660:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "11865:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "11865:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail",
                                      "nativeSrc": "11878:4:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11878:4:136"
                                    },
                                    {
                                      "name": "pos_1",
                                      "nativeSrc": "11884:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11884:5:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "11874:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "11874:3:136"
                                  },
                                  "nativeSrc": "11874:16:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "11874:16:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "11896:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "11896:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "11892:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "11892:3:136"
                                  },
                                  "nativeSrc": "11892:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "11892:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "11870:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "11870:3:136"
                              },
                              "nativeSrc": "11870:30:136",
                              "nodeType": "YulFunctionCall",
                              "src": "11870:30:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "11858:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11858:6:136"
                          },
                          "nativeSrc": "11858:43:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11858:43:136"
                        },
                        "nativeSrc": "11858:43:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11858:43:136"
                      },
                      {
                        "nativeSrc": "11914:23:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "11914:23:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "11930:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "11930:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "11924:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "11924:5:136"
                          },
                          "nativeSrc": "11924:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11924:13:136"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "11918:2:136",
                            "nodeType": "YulTypedName",
                            "src": "11918:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "11950:17:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "11950:17:136",
                        "value": {
                          "name": "tail",
                          "nativeSrc": "11963:4:136",
                          "nodeType": "YulIdentifier",
                          "src": "11963:4:136"
                        },
                        "variables": [
                          {
                            "name": "pos_2",
                            "nativeSrc": "11954:5:136",
                            "nodeType": "YulTypedName",
                            "src": "11954:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "11980:13:136",
                        "nodeType": "YulAssignment",
                        "src": "11980:13:136",
                        "value": {
                          "name": "tail",
                          "nativeSrc": "11989:4:136",
                          "nodeType": "YulIdentifier",
                          "src": "11989:4:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos_2",
                            "nativeSrc": "11980:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "11980:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12006:27:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "12006:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "tail",
                              "nativeSrc": "12024:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "12024:4:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12030:2:136",
                              "nodeType": "YulLiteral",
                              "src": "12030:2:136",
                              "type": "",
                              "value": "64"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "12020:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12020:3:136"
                          },
                          "nativeSrc": "12020:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12020:13:136"
                        },
                        "variables": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "12010:6:136",
                            "nodeType": "YulTypedName",
                            "src": "12010:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12046:18:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "12046:18:136",
                        "value": {
                          "name": "_1",
                          "nativeSrc": "12062:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "12062:2:136"
                        },
                        "variables": [
                          {
                            "name": "srcPtr_1",
                            "nativeSrc": "12050:8:136",
                            "nodeType": "YulTypedName",
                            "src": "12050:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12077:12:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "12077:12:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "12088:1:136",
                          "nodeType": "YulLiteral",
                          "src": "12088:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "i_1",
                            "nativeSrc": "12081:3:136",
                            "nodeType": "YulTypedName",
                            "src": "12081:3:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "12159:234:136",
                          "nodeType": "YulBlock",
                          "src": "12159:234:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "pos_2",
                                    "nativeSrc": "12184:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12184:5:136"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "tail_1",
                                        "nativeSrc": "12195:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "12195:6:136"
                                      },
                                      {
                                        "name": "tail",
                                        "nativeSrc": "12203:4:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "12203:4:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sub",
                                      "nativeSrc": "12191:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "12191:3:136"
                                    },
                                    "nativeSrc": "12191:17:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "12191:17:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nativeSrc": "12177:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12177:6:136"
                                },
                                "nativeSrc": "12177:32:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12177:32:136"
                              },
                              "nativeSrc": "12177:32:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "12177:32:136"
                            },
                            {
                              "nativeSrc": "12226:63:136",
                              "nodeType": "YulAssignment",
                              "src": "12226:63:136",
                              "value": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "srcPtr_1",
                                        "nativeSrc": "12271:8:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "12271:8:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "12265:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "12265:5:136"
                                    },
                                    "nativeSrc": "12265:15:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "12265:15:136"
                                  },
                                  {
                                    "name": "tail_1",
                                    "nativeSrc": "12282:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12282:6:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "abi_encode_string_memory_ptr",
                                  "nativeSrc": "12236:28:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12236:28:136"
                                },
                                "nativeSrc": "12236:53:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12236:53:136"
                              },
                              "variableNames": [
                                {
                                  "name": "tail_1",
                                  "nativeSrc": "12226:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12226:6:136"
                                }
                              ]
                            },
                            {
                              "nativeSrc": "12306:31:136",
                              "nodeType": "YulAssignment",
                              "src": "12306:31:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "srcPtr_1",
                                    "nativeSrc": "12322:8:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12322:8:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12332:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "12332:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "12318:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12318:3:136"
                                },
                                "nativeSrc": "12318:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12318:19:136"
                              },
                              "variableNames": [
                                {
                                  "name": "srcPtr_1",
                                  "nativeSrc": "12306:8:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12306:8:136"
                                }
                              ]
                            },
                            {
                              "nativeSrc": "12354:25:136",
                              "nodeType": "YulAssignment",
                              "src": "12354:25:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "pos_2",
                                    "nativeSrc": "12367:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12367:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12374:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "12374:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "12363:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12363:3:136"
                                },
                                "nativeSrc": "12363:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12363:16:136"
                              },
                              "variableNames": [
                                {
                                  "name": "pos_2",
                                  "nativeSrc": "12354:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12354:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "i_1",
                              "nativeSrc": "12113:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12113:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12118:4:136",
                              "nodeType": "YulLiteral",
                              "src": "12118:4:136",
                              "type": "",
                              "value": "0x02"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "12110:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "12110:2:136"
                          },
                          "nativeSrc": "12110:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12110:13:136"
                        },
                        "nativeSrc": "12102:291:136",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "12124:22:136",
                          "nodeType": "YulBlock",
                          "src": "12124:22:136",
                          "statements": [
                            {
                              "nativeSrc": "12126:18:136",
                              "nodeType": "YulAssignment",
                              "src": "12126:18:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "i_1",
                                    "nativeSrc": "12137:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12137:3:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12142:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "12142:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "12133:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12133:3:136"
                                },
                                "nativeSrc": "12133:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12133:11:136"
                              },
                              "variableNames": [
                                {
                                  "name": "i_1",
                                  "nativeSrc": "12126:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12126:3:136"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "12106:3:136",
                          "nodeType": "YulBlock",
                          "src": "12106:3:136",
                          "statements": []
                        },
                        "src": "12102:291:136"
                      },
                      {
                        "nativeSrc": "12406:14:136",
                        "nodeType": "YulAssignment",
                        "src": "12406:14:136",
                        "value": {
                          "name": "tail_1",
                          "nativeSrc": "12414:6:136",
                          "nodeType": "YulIdentifier",
                          "src": "12414:6:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail",
                            "nativeSrc": "12406:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "12406:4:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12433:27:136",
                        "nodeType": "YulAssignment",
                        "src": "12433:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "12447:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "12447:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12455:4:136",
                              "nodeType": "YulLiteral",
                              "src": "12455:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "12443:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12443:3:136"
                          },
                          "nativeSrc": "12443:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12443:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "12433:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12433:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12473:21:136",
                        "nodeType": "YulAssignment",
                        "src": "12473:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "12484:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12484:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12489:4:136",
                              "nodeType": "YulLiteral",
                              "src": "12489:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "12480:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12480:3:136"
                          },
                          "nativeSrc": "12480:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12480:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "12473:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12473:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "11806:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "11806:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11809:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11809:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "11803:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "11803:2:136"
                    },
                    "nativeSrc": "11803:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11803:13:136"
                  },
                  "nativeSrc": "11795:709:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "11817:18:136",
                    "nodeType": "YulBlock",
                    "src": "11817:18:136",
                    "statements": [
                      {
                        "nativeSrc": "11819:14:136",
                        "nodeType": "YulAssignment",
                        "src": "11819:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "11828:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "11828:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11831:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11831:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11824:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "11824:3:136"
                          },
                          "nativeSrc": "11824:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11824:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "11819:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "11819:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "11799:3:136",
                    "nodeType": "YulBlock",
                    "src": "11799:3:136",
                    "statements": []
                  },
                  "src": "11795:709:136"
                },
                {
                  "nativeSrc": "12513:11:136",
                  "nodeType": "YulAssignment",
                  "src": "12513:11:136",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "12520:4:136",
                    "nodeType": "YulIdentifier",
                    "src": "12520:4:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "12513:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12513:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_array_string_dyn",
            "nativeSrc": "11485:1045:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11528:5:136",
                "nodeType": "YulTypedName",
                "src": "11528:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "11535:3:136",
                "nodeType": "YulTypedName",
                "src": "11535:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "11543:3:136",
                "nodeType": "YulTypedName",
                "src": "11543:3:136",
                "type": ""
              }
            ],
            "src": "11485:1045:136"
          },
          {
            "body": {
              "nativeSrc": "12752:1663:136",
              "nodeType": "YulBlock",
              "src": "12752:1663:136",
              "statements": [
                {
                  "nativeSrc": "12762:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12762:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12780:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12780:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12791:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12791:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12776:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12776:3:136"
                    },
                    "nativeSrc": "12776:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12776:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "12766:6:136",
                      "nodeType": "YulTypedName",
                      "src": "12766:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12810:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12810:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12821:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12821:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12803:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12803:6:136"
                    },
                    "nativeSrc": "12803:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12803:21:136"
                  },
                  "nativeSrc": "12803:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12803:21:136"
                },
                {
                  "nativeSrc": "12833:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12833:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "12844:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "12844:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "12837:3:136",
                      "nodeType": "YulTypedName",
                      "src": "12837:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12859:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12859:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "12879:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "12879:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "12873:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "12873:5:136"
                    },
                    "nativeSrc": "12873:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12873:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "12863:6:136",
                      "nodeType": "YulTypedName",
                      "src": "12863:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "12902:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "12902:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "12910:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "12910:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12895:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12895:6:136"
                    },
                    "nativeSrc": "12895:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12895:22:136"
                  },
                  "nativeSrc": "12895:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12895:22:136"
                },
                {
                  "nativeSrc": "12926:25:136",
                  "nodeType": "YulAssignment",
                  "src": "12926:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12937:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12937:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12948:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12948:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12933:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12933:3:136"
                    },
                    "nativeSrc": "12933:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12933:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "12926:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12926:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "12960:53:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12960:53:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12982:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "12982:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "12997:1:136",
                                "nodeType": "YulLiteral",
                                "src": "12997:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "13000:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "13000:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "12993:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12993:3:136"
                            },
                            "nativeSrc": "12993:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "12993:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12978:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12978:3:136"
                        },
                        "nativeSrc": "12978:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12978:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13010:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13010:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12974:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12974:3:136"
                    },
                    "nativeSrc": "12974:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12974:39:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "12964:6:136",
                      "nodeType": "YulTypedName",
                      "src": "12964:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13022:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13022:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "13040:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13040:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13048:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13048:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13036:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13036:3:136"
                    },
                    "nativeSrc": "13036:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13036:15:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "13026:6:136",
                      "nodeType": "YulTypedName",
                      "src": "13026:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13060:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13060:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "13069:1:136",
                    "nodeType": "YulLiteral",
                    "src": "13069:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "13064:1:136",
                      "nodeType": "YulTypedName",
                      "src": "13064:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13128:1258:136",
                    "nodeType": "YulBlock",
                    "src": "13128:1258:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "13149:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "13149:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "13162:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "13162:6:136"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "13170:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "13170:9:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "13158:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "13158:3:136"
                                  },
                                  "nativeSrc": "13158:22:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13158:22:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "13186:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "13186:2:136",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "13182:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "13182:3:136"
                                  },
                                  "nativeSrc": "13182:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13182:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13154:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13154:3:136"
                              },
                              "nativeSrc": "13154:36:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13154:36:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13142:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13142:6:136"
                          },
                          "nativeSrc": "13142:49:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13142:49:136"
                        },
                        "nativeSrc": "13142:49:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13142:49:136"
                      },
                      {
                        "nativeSrc": "13204:23:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13204:23:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "13220:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13220:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13214:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13214:5:136"
                          },
                          "nativeSrc": "13214:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13214:13:136"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "13208:2:136",
                            "nodeType": "YulTypedName",
                            "src": "13208:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "tail_2",
                              "nativeSrc": "13247:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13247:6:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_1",
                                      "nativeSrc": "13265:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "13265:2:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "13259:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "13259:5:136"
                                  },
                                  "nativeSrc": "13259:9:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13259:9:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13270:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13270:4:136",
                                  "type": "",
                                  "value": "0xff"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "13255:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13255:3:136"
                              },
                              "nativeSrc": "13255:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13255:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13240:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13240:6:136"
                          },
                          "nativeSrc": "13240:36:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13240:36:136"
                        },
                        "nativeSrc": "13240:36:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13240:36:136"
                      },
                      {
                        "nativeSrc": "13289:38:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13289:38:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "13319:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13319:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13323:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13323:2:136",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13315:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13315:3:136"
                              },
                              "nativeSrc": "13315:11:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13315:11:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13309:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13309:5:136"
                          },
                          "nativeSrc": "13309:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13309:18:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0",
                            "nativeSrc": "13293:12:136",
                            "nodeType": "YulTypedName",
                            "src": "13293:12:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "memberValue0",
                              "nativeSrc": "13378:12:136",
                              "nodeType": "YulIdentifier",
                              "src": "13378:12:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13396:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13396:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13404:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13404:2:136",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13392:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13392:3:136"
                              },
                              "nativeSrc": "13392:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13392:15:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_RadonRetrievalMethods",
                            "nativeSrc": "13340:37:136",
                            "nodeType": "YulIdentifier",
                            "src": "13340:37:136"
                          },
                          "nativeSrc": "13340:68:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13340:68:136"
                        },
                        "nativeSrc": "13340:68:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13340:68:136"
                      },
                      {
                        "nativeSrc": "13421:40:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13421:40:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "13453:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13453:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13457:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13457:2:136",
                                  "type": "",
                                  "value": "64"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13449:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13449:3:136"
                              },
                              "nativeSrc": "13449:11:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13449:11:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13443:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13443:5:136"
                          },
                          "nativeSrc": "13443:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13443:18:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_1",
                            "nativeSrc": "13425:14:136",
                            "nodeType": "YulTypedName",
                            "src": "13425:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "memberValue0_1",
                              "nativeSrc": "13505:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "13505:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13525:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13525:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13533:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13533:2:136",
                                  "type": "",
                                  "value": "64"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13521:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13521:3:136"
                              },
                              "nativeSrc": "13521:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13521:15:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_RadonDataTypes",
                            "nativeSrc": "13474:30:136",
                            "nodeType": "YulIdentifier",
                            "src": "13474:30:136"
                          },
                          "nativeSrc": "13474:63:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13474:63:136"
                        },
                        "nativeSrc": "13474:63:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13474:63:136"
                      },
                      {
                        "nativeSrc": "13550:42:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13550:42:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "13582:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13582:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13586:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13586:4:136",
                                  "type": "",
                                  "value": "0x60"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13578:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13578:3:136"
                              },
                              "nativeSrc": "13578:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13578:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13572:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13572:5:136"
                          },
                          "nativeSrc": "13572:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13572:20:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_2",
                            "nativeSrc": "13554:14:136",
                            "nodeType": "YulTypedName",
                            "src": "13554:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13616:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13616:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13624:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13624:4:136",
                                  "type": "",
                                  "value": "0x60"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13612:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13612:3:136"
                              },
                              "nativeSrc": "13612:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13612:17:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13631:4:136",
                              "nodeType": "YulLiteral",
                              "src": "13631:4:136",
                              "type": "",
                              "value": "0xe0"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13605:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13605:6:136"
                          },
                          "nativeSrc": "13605:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13605:31:136"
                        },
                        "nativeSrc": "13605:31:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13605:31:136"
                      },
                      {
                        "nativeSrc": "13649:77:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13649:77:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_2",
                              "nativeSrc": "13692:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "13692:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13712:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13712:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13720:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13720:4:136",
                                  "type": "",
                                  "value": "0xe0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13708:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13708:3:136"
                              },
                              "nativeSrc": "13708:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13708:17:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "13663:28:136",
                            "nodeType": "YulIdentifier",
                            "src": "13663:28:136"
                          },
                          "nativeSrc": "13663:63:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13663:63:136"
                        },
                        "variables": [
                          {
                            "name": "tail_3",
                            "nativeSrc": "13653:6:136",
                            "nodeType": "YulTypedName",
                            "src": "13653:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13739:42:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13739:42:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "13771:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13771:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13775:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13775:4:136",
                                  "type": "",
                                  "value": "0x80"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13767:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13767:3:136"
                              },
                              "nativeSrc": "13767:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13767:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13761:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13761:5:136"
                          },
                          "nativeSrc": "13761:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13761:20:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_3",
                            "nativeSrc": "13743:14:136",
                            "nodeType": "YulTypedName",
                            "src": "13743:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13805:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13805:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13813:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13813:4:136",
                                  "type": "",
                                  "value": "0x80"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13801:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13801:3:136"
                              },
                              "nativeSrc": "13801:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13801:17:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_3",
                                  "nativeSrc": "13824:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13824:6:136"
                                },
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13832:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13832:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "13820:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13820:3:136"
                              },
                              "nativeSrc": "13820:19:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13820:19:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13794:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13794:6:136"
                          },
                          "nativeSrc": "13794:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13794:46:136"
                        },
                        "nativeSrc": "13794:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13794:46:136"
                      },
                      {
                        "nativeSrc": "13853:66:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13853:66:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_3",
                              "nativeSrc": "13896:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "13896:14:136"
                            },
                            {
                              "name": "tail_3",
                              "nativeSrc": "13912:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13912:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "13867:28:136",
                            "nodeType": "YulIdentifier",
                            "src": "13867:28:136"
                          },
                          "nativeSrc": "13867:52:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13867:52:136"
                        },
                        "variables": [
                          {
                            "name": "tail_4",
                            "nativeSrc": "13857:6:136",
                            "nodeType": "YulTypedName",
                            "src": "13857:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13932:42:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13932:42:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "13964:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13964:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13968:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13968:4:136",
                                  "type": "",
                                  "value": "0xa0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13960:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13960:3:136"
                              },
                              "nativeSrc": "13960:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13960:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13954:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13954:5:136"
                          },
                          "nativeSrc": "13954:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13954:20:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_4",
                            "nativeSrc": "13936:14:136",
                            "nodeType": "YulTypedName",
                            "src": "13936:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13998:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13998:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "14006:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "14006:4:136",
                                  "type": "",
                                  "value": "0xa0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13994:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13994:3:136"
                              },
                              "nativeSrc": "13994:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13994:17:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_4",
                                  "nativeSrc": "14017:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14017:6:136"
                                },
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14025:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14025:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "14013:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14013:3:136"
                              },
                              "nativeSrc": "14013:19:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14013:19:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13987:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13987:6:136"
                          },
                          "nativeSrc": "13987:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13987:46:136"
                        },
                        "nativeSrc": "13987:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13987:46:136"
                      },
                      {
                        "nativeSrc": "14046:71:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14046:71:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_4",
                              "nativeSrc": "14094:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "14094:14:136"
                            },
                            {
                              "name": "tail_4",
                              "nativeSrc": "14110:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "14110:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_array_array_string_dyn",
                            "nativeSrc": "14060:33:136",
                            "nodeType": "YulIdentifier",
                            "src": "14060:33:136"
                          },
                          "nativeSrc": "14060:57:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14060:57:136"
                        },
                        "variables": [
                          {
                            "name": "tail_5",
                            "nativeSrc": "14050:6:136",
                            "nodeType": "YulTypedName",
                            "src": "14050:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14130:42:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14130:42:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "14162:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14162:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "14166:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "14166:4:136",
                                  "type": "",
                                  "value": "0xc0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14158:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14158:3:136"
                              },
                              "nativeSrc": "14158:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14158:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "14152:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "14152:5:136"
                          },
                          "nativeSrc": "14152:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14152:20:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_5",
                            "nativeSrc": "14134:14:136",
                            "nodeType": "YulTypedName",
                            "src": "14134:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14196:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14196:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "14204:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "14204:4:136",
                                  "type": "",
                                  "value": "0xc0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14192:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14192:3:136"
                              },
                              "nativeSrc": "14192:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14192:17:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_5",
                                  "nativeSrc": "14215:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14215:6:136"
                                },
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14223:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14223:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "14211:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14211:3:136"
                              },
                              "nativeSrc": "14211:19:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14211:19:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "14185:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14185:6:136"
                          },
                          "nativeSrc": "14185:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14185:46:136"
                        },
                        "nativeSrc": "14185:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14185:46:136"
                      },
                      {
                        "nativeSrc": "14244:62:136",
                        "nodeType": "YulAssignment",
                        "src": "14244:62:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_5",
                              "nativeSrc": "14283:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "14283:14:136"
                            },
                            {
                              "name": "tail_5",
                              "nativeSrc": "14299:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "14299:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "14254:28:136",
                            "nodeType": "YulIdentifier",
                            "src": "14254:28:136"
                          },
                          "nativeSrc": "14254:52:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14254:52:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "14244:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14244:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14319:25:136",
                        "nodeType": "YulAssignment",
                        "src": "14319:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "14333:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "14333:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14341:2:136",
                              "nodeType": "YulLiteral",
                              "src": "14341:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "14329:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "14329:3:136"
                          },
                          "nativeSrc": "14329:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14329:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "14319:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14319:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14357:19:136",
                        "nodeType": "YulAssignment",
                        "src": "14357:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "14368:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "14368:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14373:2:136",
                              "nodeType": "YulLiteral",
                              "src": "14373:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "14364:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "14364:3:136"
                          },
                          "nativeSrc": "14364:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14364:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "14357:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "14357:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "13090:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "13090:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "13093:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13093:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "13087:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "13087:2:136"
                    },
                    "nativeSrc": "13087:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13087:13:136"
                  },
                  "nativeSrc": "13079:1307:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "13101:18:136",
                    "nodeType": "YulBlock",
                    "src": "13101:18:136",
                    "statements": [
                      {
                        "nativeSrc": "13103:14:136",
                        "nodeType": "YulAssignment",
                        "src": "13103:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "13112:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "13112:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13115:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13115:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13108:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "13108:3:136"
                          },
                          "nativeSrc": "13108:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13108:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "13103:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "13103:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "13083:3:136",
                    "nodeType": "YulBlock",
                    "src": "13083:3:136",
                    "statements": []
                  },
                  "src": "13079:1307:136"
                },
                {
                  "nativeSrc": "14395:14:136",
                  "nodeType": "YulAssignment",
                  "src": "14395:14:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "14403:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "14403:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14395:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "14395:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "12535:1880:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12721:9:136",
                "nodeType": "YulTypedName",
                "src": "12721:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "12732:6:136",
                "nodeType": "YulTypedName",
                "src": "12732:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "12743:4:136",
                "nodeType": "YulTypedName",
                "src": "12743:4:136",
                "type": ""
              }
            ],
            "src": "12535:1880:136"
          },
          {
            "body": {
              "nativeSrc": "14527:418:136",
              "nodeType": "YulBlock",
              "src": "14527:418:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14573:16:136",
                    "nodeType": "YulBlock",
                    "src": "14573:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14582:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14582:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14585:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14585:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14575:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14575:6:136"
                          },
                          "nativeSrc": "14575:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14575:12:136"
                        },
                        "nativeSrc": "14575:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14575:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14548:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "14548:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14557:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14557:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14544:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14544:3:136"
                        },
                        "nativeSrc": "14544:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14544:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14569:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14569:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14540:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14540:3:136"
                    },
                    "nativeSrc": "14540:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14540:32:136"
                  },
                  "nativeSrc": "14537:52:136",
                  "nodeType": "YulIf",
                  "src": "14537:52:136"
                },
                {
                  "nativeSrc": "14598:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14598:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14625:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14625:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14612:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "14612:12:136"
                    },
                    "nativeSrc": "14612:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14612:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "14602:6:136",
                      "nodeType": "YulTypedName",
                      "src": "14602:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14678:16:136",
                    "nodeType": "YulBlock",
                    "src": "14678:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14687:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14687:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14690:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14690:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14680:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14680:6:136"
                          },
                          "nativeSrc": "14680:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14680:12:136"
                        },
                        "nativeSrc": "14680:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14680:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14650:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14650:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14658:18:136",
                        "nodeType": "YulLiteral",
                        "src": "14658:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14647:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "14647:2:136"
                    },
                    "nativeSrc": "14647:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14647:30:136"
                  },
                  "nativeSrc": "14644:50:136",
                  "nodeType": "YulIf",
                  "src": "14644:50:136"
                },
                {
                  "nativeSrc": "14703:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14703:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14760:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14760:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "14771:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14771:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14756:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14756:3:136"
                        },
                        "nativeSrc": "14756:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14756:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14780:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "14780:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "14729:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "14729:26:136"
                    },
                    "nativeSrc": "14729:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14729:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "14707:8:136",
                      "nodeType": "YulTypedName",
                      "src": "14707:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "14717:8:136",
                      "nodeType": "YulTypedName",
                      "src": "14717:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14797:18:136",
                  "nodeType": "YulAssignment",
                  "src": "14797:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "14807:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "14807:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "14797:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14797:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "14824:18:136",
                  "nodeType": "YulAssignment",
                  "src": "14824:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "14834:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "14834:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "14824:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14824:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "14851:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14851:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14864:1:136",
                    "nodeType": "YulLiteral",
                    "src": "14864:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "14855:5:136",
                      "nodeType": "YulTypedName",
                      "src": "14855:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14874:41:136",
                  "nodeType": "YulAssignment",
                  "src": "14874:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14900:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14900:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14911:2:136",
                            "nodeType": "YulLiteral",
                            "src": "14911:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14896:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14896:3:136"
                        },
                        "nativeSrc": "14896:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14896:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14883:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "14883:12:136"
                    },
                    "nativeSrc": "14883:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14883:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "14874:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "14874:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "14924:15:136",
                  "nodeType": "YulAssignment",
                  "src": "14924:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "14934:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "14934:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "14924:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14924:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_bytes32",
            "nativeSrc": "14420:525:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14477:9:136",
                "nodeType": "YulTypedName",
                "src": "14477:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14488:7:136",
                "nodeType": "YulTypedName",
                "src": "14488:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14500:6:136",
                "nodeType": "YulTypedName",
                "src": "14500:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14508:6:136",
                "nodeType": "YulTypedName",
                "src": "14508:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "14516:6:136",
                "nodeType": "YulTypedName",
                "src": "14516:6:136",
                "type": ""
              }
            ],
            "src": "14420:525:136"
          },
          {
            "body": {
              "nativeSrc": "15040:321:136",
              "nodeType": "YulBlock",
              "src": "15040:321:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15086:16:136",
                    "nodeType": "YulBlock",
                    "src": "15086:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15095:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15095:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15098:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15098:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15088:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15088:6:136"
                          },
                          "nativeSrc": "15088:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15088:12:136"
                        },
                        "nativeSrc": "15088:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15088:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15061:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "15061:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15070:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15070:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15057:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15057:3:136"
                        },
                        "nativeSrc": "15057:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15057:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15082:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15082:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15053:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15053:3:136"
                    },
                    "nativeSrc": "15053:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15053:32:136"
                  },
                  "nativeSrc": "15050:52:136",
                  "nodeType": "YulIf",
                  "src": "15050:52:136"
                },
                {
                  "nativeSrc": "15111:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15111:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15138:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15138:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15125:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "15125:12:136"
                    },
                    "nativeSrc": "15125:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15125:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15115:6:136",
                      "nodeType": "YulTypedName",
                      "src": "15115:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15191:16:136",
                    "nodeType": "YulBlock",
                    "src": "15191:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15200:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15200:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15203:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15203:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15193:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15193:6:136"
                          },
                          "nativeSrc": "15193:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15193:12:136"
                        },
                        "nativeSrc": "15193:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15193:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15163:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15163:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15171:18:136",
                        "nodeType": "YulLiteral",
                        "src": "15171:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15160:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "15160:2:136"
                    },
                    "nativeSrc": "15160:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15160:30:136"
                  },
                  "nativeSrc": "15157:50:136",
                  "nodeType": "YulIf",
                  "src": "15157:50:136"
                },
                {
                  "nativeSrc": "15216:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15216:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15273:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15273:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "15284:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15284:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15269:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15269:3:136"
                        },
                        "nativeSrc": "15269:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15269:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15293:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "15293:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "15242:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "15242:26:136"
                    },
                    "nativeSrc": "15242:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15242:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "15220:8:136",
                      "nodeType": "YulTypedName",
                      "src": "15220:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "15230:8:136",
                      "nodeType": "YulTypedName",
                      "src": "15230:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15310:18:136",
                  "nodeType": "YulAssignment",
                  "src": "15310:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "15320:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "15320:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15310:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15310:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "15337:18:136",
                  "nodeType": "YulAssignment",
                  "src": "15337:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "15347:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "15347:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15337:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15337:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptr",
            "nativeSrc": "14950:411:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14998:9:136",
                "nodeType": "YulTypedName",
                "src": "14998:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15009:7:136",
                "nodeType": "YulTypedName",
                "src": "15009:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15021:6:136",
                "nodeType": "YulTypedName",
                "src": "15021:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15029:6:136",
                "nodeType": "YulTypedName",
                "src": "15029:6:136",
                "type": ""
              }
            ],
            "src": "14950:411:136"
          },
          {
            "body": {
              "nativeSrc": "15465:103:136",
              "nodeType": "YulBlock",
              "src": "15465:103:136",
              "statements": [
                {
                  "nativeSrc": "15475:26:136",
                  "nodeType": "YulAssignment",
                  "src": "15475:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15487:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15487:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15498:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15498:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15483:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15483:3:136"
                    },
                    "nativeSrc": "15483:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15483:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15475:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "15475:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15517:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15517:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "15532:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15532:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "15544:3:136",
                                "nodeType": "YulLiteral",
                                "src": "15544:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "15549:10:136",
                                "nodeType": "YulLiteral",
                                "src": "15549:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "15540:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "15540:3:136"
                            },
                            "nativeSrc": "15540:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "15540:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "15528:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15528:3:136"
                        },
                        "nativeSrc": "15528:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15528:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15510:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15510:6:136"
                    },
                    "nativeSrc": "15510:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15510:52:136"
                  },
                  "nativeSrc": "15510:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15510:52:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "15366:202:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15434:9:136",
                "nodeType": "YulTypedName",
                "src": "15434:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15445:6:136",
                "nodeType": "YulTypedName",
                "src": "15445:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15456:4:136",
                "nodeType": "YulTypedName",
                "src": "15456:4:136",
                "type": ""
              }
            ],
            "src": "15366:202:136"
          },
          {
            "body": {
              "nativeSrc": "15698:589:136",
              "nodeType": "YulBlock",
              "src": "15698:589:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15744:16:136",
                    "nodeType": "YulBlock",
                    "src": "15744:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15753:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15753:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15756:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15756:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15746:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15746:6:136"
                          },
                          "nativeSrc": "15746:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15746:12:136"
                        },
                        "nativeSrc": "15746:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15746:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15719:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "15719:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15728:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15728:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15715:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15715:3:136"
                        },
                        "nativeSrc": "15715:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15715:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15740:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15740:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15711:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15711:3:136"
                    },
                    "nativeSrc": "15711:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15711:32:136"
                  },
                  "nativeSrc": "15708:52:136",
                  "nodeType": "YulIf",
                  "src": "15708:52:136"
                },
                {
                  "nativeSrc": "15769:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15769:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15796:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15796:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15783:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "15783:12:136"
                    },
                    "nativeSrc": "15783:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15783:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15773:6:136",
                      "nodeType": "YulTypedName",
                      "src": "15773:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15849:16:136",
                    "nodeType": "YulBlock",
                    "src": "15849:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15858:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15858:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15861:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15861:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15851:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15851:6:136"
                          },
                          "nativeSrc": "15851:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15851:12:136"
                        },
                        "nativeSrc": "15851:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15851:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15821:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15821:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15829:18:136",
                        "nodeType": "YulLiteral",
                        "src": "15829:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15818:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "15818:2:136"
                    },
                    "nativeSrc": "15818:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15818:30:136"
                  },
                  "nativeSrc": "15815:50:136",
                  "nodeType": "YulIf",
                  "src": "15815:50:136"
                },
                {
                  "nativeSrc": "15874:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15874:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15931:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15931:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "15942:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15942:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15927:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15927:3:136"
                        },
                        "nativeSrc": "15927:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15927:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15951:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "15951:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "15900:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "15900:26:136"
                    },
                    "nativeSrc": "15900:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15900:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "15878:8:136",
                      "nodeType": "YulTypedName",
                      "src": "15878:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "15888:8:136",
                      "nodeType": "YulTypedName",
                      "src": "15888:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15968:18:136",
                  "nodeType": "YulAssignment",
                  "src": "15968:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "15978:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "15978:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15968:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15968:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "15995:18:136",
                  "nodeType": "YulAssignment",
                  "src": "15995:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "16005:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "16005:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15995:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15995:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "16022:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16022:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16055:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16055:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16066:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16066:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16051:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16051:3:136"
                        },
                        "nativeSrc": "16051:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16051:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16038:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "16038:12:136"
                    },
                    "nativeSrc": "16038:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16038:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "16026:8:136",
                      "nodeType": "YulTypedName",
                      "src": "16026:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16115:16:136",
                    "nodeType": "YulBlock",
                    "src": "16115:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16124:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16124:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16127:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16127:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16117:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16117:6:136"
                          },
                          "nativeSrc": "16117:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16117:12:136"
                        },
                        "nativeSrc": "16117:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16117:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "16085:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "16085:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16095:18:136",
                        "nodeType": "YulLiteral",
                        "src": "16095:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "16082:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "16082:2:136"
                    },
                    "nativeSrc": "16082:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16082:32:136"
                  },
                  "nativeSrc": "16079:52:136",
                  "nodeType": "YulIf",
                  "src": "16079:52:136"
                },
                {
                  "nativeSrc": "16140:87:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16140:87:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16197:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16197:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "16208:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "16208:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16193:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16193:3:136"
                        },
                        "nativeSrc": "16193:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16193:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16219:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "16219:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "16166:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "16166:26:136"
                    },
                    "nativeSrc": "16166:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16166:61:136"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "16144:8:136",
                      "nodeType": "YulTypedName",
                      "src": "16144:8:136",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "16154:8:136",
                      "nodeType": "YulTypedName",
                      "src": "16154:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "16236:18:136",
                  "nodeType": "YulAssignment",
                  "src": "16236:18:136",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "16246:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "16246:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "16236:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16236:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "16263:18:136",
                  "nodeType": "YulAssignment",
                  "src": "16263:18:136",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "16273:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "16273:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "16263:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16263:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr",
            "nativeSrc": "15573:714:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15640:9:136",
                "nodeType": "YulTypedName",
                "src": "15640:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15651:7:136",
                "nodeType": "YulTypedName",
                "src": "15651:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15663:6:136",
                "nodeType": "YulTypedName",
                "src": "15663:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15671:6:136",
                "nodeType": "YulTypedName",
                "src": "15671:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "15679:6:136",
                "nodeType": "YulTypedName",
                "src": "15679:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "15687:6:136",
                "nodeType": "YulTypedName",
                "src": "15687:6:136",
                "type": ""
              }
            ],
            "src": "15573:714:136"
          },
          {
            "body": {
              "nativeSrc": "16365:85:136",
              "nodeType": "YulBlock",
              "src": "16365:85:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16404:16:136",
                    "nodeType": "YulBlock",
                    "src": "16404:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16413:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16413:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16416:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16416:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16406:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16406:6:136"
                          },
                          "nativeSrc": "16406:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16406:12:136"
                        },
                        "nativeSrc": "16406:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16406:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "16386:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "16386:3:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "16391:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16391:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16382:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16382:3:136"
                        },
                        "nativeSrc": "16382:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16382:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16400:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16400:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16378:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16378:3:136"
                    },
                    "nativeSrc": "16378:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16378:25:136"
                  },
                  "nativeSrc": "16375:45:136",
                  "nodeType": "YulIf",
                  "src": "16375:45:136"
                },
                {
                  "nativeSrc": "16429:15:136",
                  "nodeType": "YulAssignment",
                  "src": "16429:15:136",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "16438:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "16438:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "16429:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "16429:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_RadonSLAv2_calldata",
            "nativeSrc": "16292:158:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "16339:6:136",
                "nodeType": "YulTypedName",
                "src": "16339:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "16347:3:136",
                "nodeType": "YulTypedName",
                "src": "16347:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "16355:5:136",
                "nodeType": "YulTypedName",
                "src": "16355:5:136",
                "type": ""
              }
            ],
            "src": "16292:158:136"
          },
          {
            "body": {
              "nativeSrc": "16572:261:136",
              "nodeType": "YulBlock",
              "src": "16572:261:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16618:16:136",
                    "nodeType": "YulBlock",
                    "src": "16618:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16627:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16627:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16630:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16630:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16620:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16620:6:136"
                          },
                          "nativeSrc": "16620:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16620:12:136"
                        },
                        "nativeSrc": "16620:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16620:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16593:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "16593:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "16602:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16602:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16589:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16589:3:136"
                        },
                        "nativeSrc": "16589:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16589:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16614:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16614:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16585:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16585:3:136"
                    },
                    "nativeSrc": "16585:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16585:32:136"
                  },
                  "nativeSrc": "16582:52:136",
                  "nodeType": "YulIf",
                  "src": "16582:52:136"
                },
                {
                  "nativeSrc": "16643:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16643:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16669:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16669:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16656:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "16656:12:136"
                    },
                    "nativeSrc": "16656:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16656:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "16647:5:136",
                      "nodeType": "YulTypedName",
                      "src": "16647:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "16712:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "16712:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "16688:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "16688:23:136"
                    },
                    "nativeSrc": "16688:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16688:30:136"
                  },
                  "nativeSrc": "16688:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16688:30:136"
                },
                {
                  "nativeSrc": "16727:15:136",
                  "nodeType": "YulAssignment",
                  "src": "16727:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "16737:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "16737:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16727:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16727:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "16751:76:136",
                  "nodeType": "YulAssignment",
                  "src": "16751:76:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16803:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16803:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16814:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16814:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16799:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16799:3:136"
                        },
                        "nativeSrc": "16799:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16799:18:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16819:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "16819:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLAv2_calldata",
                      "nativeSrc": "16761:37:136",
                      "nodeType": "YulIdentifier",
                      "src": "16761:37:136"
                    },
                    "nativeSrc": "16761:66:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16761:66:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "16751:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16751:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4t_struct$_RadonSLAv2_$29146_calldata_ptr",
            "nativeSrc": "16455:378:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16530:9:136",
                "nodeType": "YulTypedName",
                "src": "16530:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "16541:7:136",
                "nodeType": "YulTypedName",
                "src": "16541:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "16553:6:136",
                "nodeType": "YulTypedName",
                "src": "16553:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "16561:6:136",
                "nodeType": "YulTypedName",
                "src": "16561:6:136",
                "type": ""
              }
            ],
            "src": "16455:378:136"
          },
          {
            "body": {
              "nativeSrc": "16972:439:136",
              "nodeType": "YulBlock",
              "src": "16972:439:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17018:16:136",
                    "nodeType": "YulBlock",
                    "src": "17018:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17027:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17027:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17030:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17030:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17020:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17020:6:136"
                          },
                          "nativeSrc": "17020:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17020:12:136"
                        },
                        "nativeSrc": "17020:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17020:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16993:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "16993:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17002:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17002:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16989:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16989:3:136"
                        },
                        "nativeSrc": "16989:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16989:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17014:2:136",
                        "nodeType": "YulLiteral",
                        "src": "17014:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16985:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16985:3:136"
                    },
                    "nativeSrc": "16985:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16985:32:136"
                  },
                  "nativeSrc": "16982:52:136",
                  "nodeType": "YulIf",
                  "src": "16982:52:136"
                },
                {
                  "nativeSrc": "17043:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17043:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17070:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17070:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17057:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17057:12:136"
                    },
                    "nativeSrc": "17057:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17057:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17047:6:136",
                      "nodeType": "YulTypedName",
                      "src": "17047:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17123:16:136",
                    "nodeType": "YulBlock",
                    "src": "17123:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17132:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17132:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17135:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17135:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17125:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17125:6:136"
                          },
                          "nativeSrc": "17125:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17125:12:136"
                        },
                        "nativeSrc": "17125:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17125:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17095:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "17095:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17103:18:136",
                        "nodeType": "YulLiteral",
                        "src": "17103:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17092:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "17092:2:136"
                    },
                    "nativeSrc": "17092:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17092:30:136"
                  },
                  "nativeSrc": "17089:50:136",
                  "nodeType": "YulIf",
                  "src": "17089:50:136"
                },
                {
                  "nativeSrc": "17148:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17148:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17205:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17205:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "17216:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17216:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17201:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17201:3:136"
                        },
                        "nativeSrc": "17201:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17201:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17225:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "17225:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "17174:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "17174:26:136"
                    },
                    "nativeSrc": "17174:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17174:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "17152:8:136",
                      "nodeType": "YulTypedName",
                      "src": "17152:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "17162:8:136",
                      "nodeType": "YulTypedName",
                      "src": "17162:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17242:18:136",
                  "nodeType": "YulAssignment",
                  "src": "17242:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "17252:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "17252:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17242:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17242:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "17269:18:136",
                  "nodeType": "YulAssignment",
                  "src": "17269:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "17279:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "17279:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "17269:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17269:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "17296:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17296:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17326:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17326:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17337:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17337:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17322:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17322:3:136"
                        },
                        "nativeSrc": "17322:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17322:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17309:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17309:12:136"
                    },
                    "nativeSrc": "17309:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17309:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "17300:5:136",
                      "nodeType": "YulTypedName",
                      "src": "17300:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "17375:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "17375:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "17350:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "17350:24:136"
                    },
                    "nativeSrc": "17350:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17350:31:136"
                  },
                  "nativeSrc": "17350:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17350:31:136"
                },
                {
                  "nativeSrc": "17390:15:136",
                  "nodeType": "YulAssignment",
                  "src": "17390:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "17400:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "17400:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "17390:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17390:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_contract$_IWitOracleRequest_$28922",
            "nativeSrc": "16838:573:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16922:9:136",
                "nodeType": "YulTypedName",
                "src": "16922:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "16933:7:136",
                "nodeType": "YulTypedName",
                "src": "16933:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "16945:6:136",
                "nodeType": "YulTypedName",
                "src": "16945:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "16953:6:136",
                "nodeType": "YulTypedName",
                "src": "16953:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "16961:6:136",
                "nodeType": "YulTypedName",
                "src": "16961:6:136",
                "type": ""
              }
            ],
            "src": "16838:573:136"
          },
          {
            "body": {
              "nativeSrc": "17496:370:136",
              "nodeType": "YulBlock",
              "src": "17496:370:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17542:16:136",
                    "nodeType": "YulBlock",
                    "src": "17542:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17551:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17551:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17554:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17554:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17544:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17544:6:136"
                          },
                          "nativeSrc": "17544:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17544:12:136"
                        },
                        "nativeSrc": "17544:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17544:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17517:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17517:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17526:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17526:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17513:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17513:3:136"
                        },
                        "nativeSrc": "17513:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17513:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17538:2:136",
                        "nodeType": "YulLiteral",
                        "src": "17538:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17509:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17509:3:136"
                    },
                    "nativeSrc": "17509:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17509:32:136"
                  },
                  "nativeSrc": "17506:52:136",
                  "nodeType": "YulIf",
                  "src": "17506:52:136"
                },
                {
                  "nativeSrc": "17567:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17567:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17594:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17594:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17581:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17581:12:136"
                    },
                    "nativeSrc": "17581:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17581:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17571:6:136",
                      "nodeType": "YulTypedName",
                      "src": "17571:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17647:16:136",
                    "nodeType": "YulBlock",
                    "src": "17647:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17656:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17656:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17659:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17659:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17649:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17649:6:136"
                          },
                          "nativeSrc": "17649:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17649:12:136"
                        },
                        "nativeSrc": "17649:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17649:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17619:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "17619:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17627:18:136",
                        "nodeType": "YulLiteral",
                        "src": "17627:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17616:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "17616:2:136"
                    },
                    "nativeSrc": "17616:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17616:30:136"
                  },
                  "nativeSrc": "17613:50:136",
                  "nodeType": "YulIf",
                  "src": "17613:50:136"
                },
                {
                  "nativeSrc": "17672:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17672:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17686:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17686:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "17697:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "17697:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "17682:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17682:3:136"
                    },
                    "nativeSrc": "17682:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17682:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "17676:2:136",
                      "nodeType": "YulTypedName",
                      "src": "17676:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17752:16:136",
                    "nodeType": "YulBlock",
                    "src": "17752:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17761:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17761:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17764:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17764:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17754:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17754:6:136"
                          },
                          "nativeSrc": "17754:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17754:12:136"
                        },
                        "nativeSrc": "17754:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17754:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "17731:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "17731:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17735:4:136",
                                "nodeType": "YulLiteral",
                                "src": "17735:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "17727:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17727:3:136"
                            },
                            "nativeSrc": "17727:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17727:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17742:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17742:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "17723:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17723:3:136"
                        },
                        "nativeSrc": "17723:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17723:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17716:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17716:6:136"
                    },
                    "nativeSrc": "17716:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17716:35:136"
                  },
                  "nativeSrc": "17713:55:136",
                  "nodeType": "YulIf",
                  "src": "17713:55:136"
                },
                {
                  "nativeSrc": "17777:83:136",
                  "nodeType": "YulAssignment",
                  "src": "17777:83:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "17825:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "17825:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17829:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17829:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17821:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17821:3:136"
                        },
                        "nativeSrc": "17821:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17821:11:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "17847:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "17847:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "17834:12:136",
                          "nodeType": "YulIdentifier",
                          "src": "17834:12:136"
                        },
                        "nativeSrc": "17834:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17834:16:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17852:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "17852:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "17787:33:136",
                      "nodeType": "YulIdentifier",
                      "src": "17787:33:136"
                    },
                    "nativeSrc": "17787:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17787:73:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17777:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17777:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr",
            "nativeSrc": "17416:450:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17462:9:136",
                "nodeType": "YulTypedName",
                "src": "17462:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17473:7:136",
                "nodeType": "YulTypedName",
                "src": "17473:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17485:6:136",
                "nodeType": "YulTypedName",
                "src": "17485:6:136",
                "type": ""
              }
            ],
            "src": "17416:450:136"
          },
          {
            "body": {
              "nativeSrc": "17915:73:136",
              "nodeType": "YulBlock",
              "src": "17915:73:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17966:16:136",
                    "nodeType": "YulBlock",
                    "src": "17966:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17975:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17975:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17978:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17978:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17968:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17968:6:136"
                          },
                          "nativeSrc": "17968:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17968:12:136"
                        },
                        "nativeSrc": "17968:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17968:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17938:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "17938:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "17949:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "17949:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17956:6:136",
                                "nodeType": "YulLiteral",
                                "src": "17956:6:136",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "17945:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17945:3:136"
                            },
                            "nativeSrc": "17945:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17945:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "17935:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "17935:2:136"
                        },
                        "nativeSrc": "17935:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17935:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17928:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17928:6:136"
                    },
                    "nativeSrc": "17928:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17928:37:136"
                  },
                  "nativeSrc": "17925:57:136",
                  "nodeType": "YulIf",
                  "src": "17925:57:136"
                }
              ]
            },
            "name": "validator_revert_uint16",
            "nativeSrc": "17871:117:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "17904:5:136",
                "nodeType": "YulTypedName",
                "src": "17904:5:136",
                "type": ""
              }
            ],
            "src": "17871:117:136"
          },
          {
            "body": {
              "nativeSrc": "18062:176:136",
              "nodeType": "YulBlock",
              "src": "18062:176:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18108:16:136",
                    "nodeType": "YulBlock",
                    "src": "18108:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18117:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18117:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18120:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18120:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18110:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18110:6:136"
                          },
                          "nativeSrc": "18110:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18110:12:136"
                        },
                        "nativeSrc": "18110:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18110:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18083:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "18083:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18092:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18092:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18079:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18079:3:136"
                        },
                        "nativeSrc": "18079:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18079:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18104:2:136",
                        "nodeType": "YulLiteral",
                        "src": "18104:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18075:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "18075:3:136"
                    },
                    "nativeSrc": "18075:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18075:32:136"
                  },
                  "nativeSrc": "18072:52:136",
                  "nodeType": "YulIf",
                  "src": "18072:52:136"
                },
                {
                  "nativeSrc": "18133:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18133:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18159:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18159:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18146:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "18146:12:136"
                    },
                    "nativeSrc": "18146:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18146:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "18137:5:136",
                      "nodeType": "YulTypedName",
                      "src": "18137:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "18202:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "18202:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "18178:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "18178:23:136"
                    },
                    "nativeSrc": "18178:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18178:30:136"
                  },
                  "nativeSrc": "18178:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18178:30:136"
                },
                {
                  "nativeSrc": "18217:15:136",
                  "nodeType": "YulAssignment",
                  "src": "18217:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18227:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "18227:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18217:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18217:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16",
            "nativeSrc": "17993:245:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18028:9:136",
                "nodeType": "YulTypedName",
                "src": "18028:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18039:7:136",
                "nodeType": "YulTypedName",
                "src": "18039:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18051:6:136",
                "nodeType": "YulTypedName",
                "src": "18051:6:136",
                "type": ""
              }
            ],
            "src": "17993:245:136"
          },
          {
            "body": {
              "nativeSrc": "18313:110:136",
              "nodeType": "YulBlock",
              "src": "18313:110:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18359:16:136",
                    "nodeType": "YulBlock",
                    "src": "18359:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18368:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18368:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18371:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18371:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18361:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18361:6:136"
                          },
                          "nativeSrc": "18361:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18361:12:136"
                        },
                        "nativeSrc": "18361:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18361:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18334:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "18334:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18343:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18343:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18330:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18330:3:136"
                        },
                        "nativeSrc": "18330:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18330:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18355:2:136",
                        "nodeType": "YulLiteral",
                        "src": "18355:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18326:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "18326:3:136"
                    },
                    "nativeSrc": "18326:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18326:32:136"
                  },
                  "nativeSrc": "18323:52:136",
                  "nodeType": "YulIf",
                  "src": "18323:52:136"
                },
                {
                  "nativeSrc": "18384:33:136",
                  "nodeType": "YulAssignment",
                  "src": "18384:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18407:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18407:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18394:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "18394:12:136"
                    },
                    "nativeSrc": "18394:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18394:23:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18384:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18384:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256",
            "nativeSrc": "18243:180:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18279:9:136",
                "nodeType": "YulTypedName",
                "src": "18279:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18290:7:136",
                "nodeType": "YulTypedName",
                "src": "18290:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18302:6:136",
                "nodeType": "YulTypedName",
                "src": "18302:6:136",
                "type": ""
              }
            ],
            "src": "18243:180:136"
          },
          {
            "body": {
              "nativeSrc": "18477:362:136",
              "nodeType": "YulBlock",
              "src": "18477:362:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "18494:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "18494:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "18509:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "18509:5:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "18503:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "18503:5:136"
                            },
                            "nativeSrc": "18503:12:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18503:12:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18517:18:136",
                            "nodeType": "YulLiteral",
                            "src": "18517:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18499:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18499:3:136"
                        },
                        "nativeSrc": "18499:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18499:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18487:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18487:6:136"
                    },
                    "nativeSrc": "18487:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18487:50:136"
                  },
                  "nativeSrc": "18487:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18487:50:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "18557:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "18557:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18562:4:136",
                            "nodeType": "YulLiteral",
                            "src": "18562:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18553:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18553:3:136"
                        },
                        "nativeSrc": "18553:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18553:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "18583:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "18583:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18590:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "18590:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "18579:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "18579:3:136"
                                },
                                "nativeSrc": "18579:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "18579:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "18573:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "18573:5:136"
                            },
                            "nativeSrc": "18573:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18573:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18598:18:136",
                            "nodeType": "YulLiteral",
                            "src": "18598:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18569:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18569:3:136"
                        },
                        "nativeSrc": "18569:48:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18569:48:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18546:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18546:6:136"
                    },
                    "nativeSrc": "18546:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18546:72:136"
                  },
                  "nativeSrc": "18546:72:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18546:72:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "18638:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "18638:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18643:4:136",
                            "nodeType": "YulLiteral",
                            "src": "18643:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18634:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18634:3:136"
                        },
                        "nativeSrc": "18634:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18634:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "18660:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "18660:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18667:4:136",
                                "nodeType": "YulLiteral",
                                "src": "18667:4:136",
                                "type": "",
                                "value": "0x40"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "18656:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "18656:3:136"
                            },
                            "nativeSrc": "18656:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18656:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "18650:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "18650:5:136"
                        },
                        "nativeSrc": "18650:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18650:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18627:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18627:6:136"
                    },
                    "nativeSrc": "18627:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18627:47:136"
                  },
                  "nativeSrc": "18627:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18627:47:136"
                },
                {
                  "nativeSrc": "18683:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18683:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "18713:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "18713:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18720:4:136",
                            "nodeType": "YulLiteral",
                            "src": "18720:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18709:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18709:3:136"
                        },
                        "nativeSrc": "18709:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18709:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "18703:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "18703:5:136"
                    },
                    "nativeSrc": "18703:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18703:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "18687:12:136",
                      "nodeType": "YulTypedName",
                      "src": "18687:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "18766:22:136",
                    "nodeType": "YulBlock",
                    "src": "18766:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "18768:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "18768:16:136"
                          },
                          "nativeSrc": "18768:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18768:18:136"
                        },
                        "nativeSrc": "18768:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18768:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memberValue0",
                            "nativeSrc": "18748:12:136",
                            "nodeType": "YulIdentifier",
                            "src": "18748:12:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18762:1:136",
                            "nodeType": "YulLiteral",
                            "src": "18762:1:136",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "18745:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "18745:2:136"
                        },
                        "nativeSrc": "18745:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18745:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "18738:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18738:6:136"
                    },
                    "nativeSrc": "18738:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18738:27:136"
                  },
                  "nativeSrc": "18735:53:136",
                  "nodeType": "YulIf",
                  "src": "18735:53:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "18808:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "18808:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18813:4:136",
                            "nodeType": "YulLiteral",
                            "src": "18813:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18804:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18804:3:136"
                        },
                        "nativeSrc": "18804:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18804:14:136"
                      },
                      {
                        "name": "memberValue0",
                        "nativeSrc": "18820:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "18820:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18797:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18797:6:136"
                    },
                    "nativeSrc": "18797:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18797:36:136"
                  },
                  "nativeSrc": "18797:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18797:36:136"
                }
              ]
            },
            "name": "abi_encode_struct_Price",
            "nativeSrc": "18428:411:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "18461:5:136",
                "nodeType": "YulTypedName",
                "src": "18461:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "18468:3:136",
                "nodeType": "YulTypedName",
                "src": "18468:3:136",
                "type": ""
              }
            ],
            "src": "18428:411:136"
          },
          {
            "body": {
              "nativeSrc": "18993:94:136",
              "nodeType": "YulBlock",
              "src": "18993:94:136",
              "statements": [
                {
                  "nativeSrc": "19003:27:136",
                  "nodeType": "YulAssignment",
                  "src": "19003:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19015:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19015:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19026:3:136",
                        "nodeType": "YulLiteral",
                        "src": "19026:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19011:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19011:3:136"
                    },
                    "nativeSrc": "19011:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19011:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "19003:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "19003:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "19063:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19063:6:136"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "19071:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19071:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Price",
                      "nativeSrc": "19039:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "19039:23:136"
                    },
                    "nativeSrc": "19039:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19039:42:136"
                  },
                  "nativeSrc": "19039:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19039:42:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Price_$29489_memory_ptr__to_t_struct$_Price_$29489_memory_ptr__fromStack_reversed",
            "nativeSrc": "18844:243:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18962:9:136",
                "nodeType": "YulTypedName",
                "src": "18962:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18973:6:136",
                "nodeType": "YulTypedName",
                "src": "18973:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18984:4:136",
                "nodeType": "YulTypedName",
                "src": "18984:4:136",
                "type": ""
              }
            ],
            "src": "18844:243:136"
          },
          {
            "body": {
              "nativeSrc": "19257:546:136",
              "nodeType": "YulBlock",
              "src": "19257:546:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19274:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19274:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19285:2:136",
                        "nodeType": "YulLiteral",
                        "src": "19285:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19267:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19267:6:136"
                    },
                    "nativeSrc": "19267:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19267:21:136"
                  },
                  "nativeSrc": "19267:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19267:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19308:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19308:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19319:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19319:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19304:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19304:3:136"
                        },
                        "nativeSrc": "19304:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19304:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "19334:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "19334:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "19328:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "19328:5:136"
                            },
                            "nativeSrc": "19328:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19328:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19351:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19351:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19356:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19356:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "19347:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "19347:3:136"
                                },
                                "nativeSrc": "19347:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "19347:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19360:1:136",
                                "nodeType": "YulLiteral",
                                "src": "19360:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "19343:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "19343:3:136"
                            },
                            "nativeSrc": "19343:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19343:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19324:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19324:3:136"
                        },
                        "nativeSrc": "19324:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19324:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19297:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19297:6:136"
                    },
                    "nativeSrc": "19297:67:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19297:67:136"
                  },
                  "nativeSrc": "19297:67:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19297:67:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19384:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19384:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19395:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19395:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19380:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19380:3:136"
                        },
                        "nativeSrc": "19380:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19380:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "19414:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "19414:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19422:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19422:2:136",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "19410:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "19410:3:136"
                                },
                                "nativeSrc": "19410:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "19410:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "19404:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "19404:5:136"
                            },
                            "nativeSrc": "19404:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19404:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19428:18:136",
                            "nodeType": "YulLiteral",
                            "src": "19428:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19400:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19400:3:136"
                        },
                        "nativeSrc": "19400:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19400:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19373:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19373:6:136"
                    },
                    "nativeSrc": "19373:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19373:75:136"
                  },
                  "nativeSrc": "19373:75:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19373:75:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19468:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19468:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19479:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19479:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19464:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19464:3:136"
                        },
                        "nativeSrc": "19464:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19464:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "19494:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "19494:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19502:2:136",
                                "nodeType": "YulLiteral",
                                "src": "19502:2:136",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "19490:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "19490:3:136"
                            },
                            "nativeSrc": "19490:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19490:15:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "19484:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "19484:5:136"
                        },
                        "nativeSrc": "19484:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19484:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19457:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19457:6:136"
                    },
                    "nativeSrc": "19457:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19457:50:136"
                  },
                  "nativeSrc": "19457:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19457:50:136"
                },
                {
                  "nativeSrc": "19516:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19516:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19546:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19546:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19554:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19554:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19542:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19542:3:136"
                        },
                        "nativeSrc": "19542:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19542:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19536:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19536:5:136"
                    },
                    "nativeSrc": "19536:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19536:22:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "19520:12:136",
                      "nodeType": "YulTypedName",
                      "src": "19520:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19578:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19578:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19589:3:136",
                            "nodeType": "YulLiteral",
                            "src": "19589:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19574:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19574:3:136"
                        },
                        "nativeSrc": "19574:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19574:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19595:4:136",
                        "nodeType": "YulLiteral",
                        "src": "19595:4:136",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19567:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19567:6:136"
                    },
                    "nativeSrc": "19567:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19567:33:136"
                  },
                  "nativeSrc": "19567:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19567:33:136"
                },
                {
                  "nativeSrc": "19609:77:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19609:77:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "19652:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "19652:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19670:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19670:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19681:3:136",
                            "nodeType": "YulLiteral",
                            "src": "19681:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19666:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19666:3:136"
                        },
                        "nativeSrc": "19666:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19666:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "19623:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "19623:28:136"
                    },
                    "nativeSrc": "19623:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19623:63:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "19613:6:136",
                      "nodeType": "YulTypedName",
                      "src": "19613:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19706:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19706:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19717:4:136",
                            "nodeType": "YulLiteral",
                            "src": "19717:4:136",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19702:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19702:3:136"
                        },
                        "nativeSrc": "19702:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19702:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "19738:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "19738:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19746:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19746:3:136",
                                    "type": "",
                                    "value": "128"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "19734:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "19734:3:136"
                                },
                                "nativeSrc": "19734:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "19734:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "19728:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "19728:5:136"
                            },
                            "nativeSrc": "19728:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19728:23:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19761:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19761:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19766:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19766:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "19757:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "19757:3:136"
                                },
                                "nativeSrc": "19757:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "19757:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19770:1:136",
                                "nodeType": "YulLiteral",
                                "src": "19770:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "19753:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "19753:3:136"
                            },
                            "nativeSrc": "19753:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19753:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19724:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19724:3:136"
                        },
                        "nativeSrc": "19724:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19724:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19695:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19695:6:136"
                    },
                    "nativeSrc": "19695:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19695:79:136"
                  },
                  "nativeSrc": "19695:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19695:79:136"
                },
                {
                  "nativeSrc": "19783:14:136",
                  "nodeType": "YulAssignment",
                  "src": "19783:14:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "19791:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "19791:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "19783:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "19783:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_QueryResponse_$37365_memory_ptr__to_t_struct$_QueryResponse_$37365_memory_ptr__fromStack_reversed",
            "nativeSrc": "19092:711:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19226:9:136",
                "nodeType": "YulTypedName",
                "src": "19226:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19237:6:136",
                "nodeType": "YulTypedName",
                "src": "19237:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "19248:4:136",
                "nodeType": "YulTypedName",
                "src": "19248:4:136",
                "type": ""
              }
            ],
            "src": "19092:711:136"
          },
          {
            "body": {
              "nativeSrc": "19907:89:136",
              "nodeType": "YulBlock",
              "src": "19907:89:136",
              "statements": [
                {
                  "nativeSrc": "19917:26:136",
                  "nodeType": "YulAssignment",
                  "src": "19917:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19929:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19929:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19940:2:136",
                        "nodeType": "YulLiteral",
                        "src": "19940:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19925:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19925:3:136"
                    },
                    "nativeSrc": "19925:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19925:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "19917:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "19917:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19959:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19959:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19974:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19974:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19982:6:136",
                            "nodeType": "YulLiteral",
                            "src": "19982:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19970:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19970:3:136"
                        },
                        "nativeSrc": "19970:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19970:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19952:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19952:6:136"
                    },
                    "nativeSrc": "19952:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19952:38:136"
                  },
                  "nativeSrc": "19952:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19952:38:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed",
            "nativeSrc": "19808:188:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19876:9:136",
                "nodeType": "YulTypedName",
                "src": "19876:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19887:6:136",
                "nodeType": "YulTypedName",
                "src": "19887:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "19898:4:136",
                "nodeType": "YulTypedName",
                "src": "19898:4:136",
                "type": ""
              }
            ],
            "src": "19808:188:136"
          },
          {
            "body": {
              "nativeSrc": "20125:132:136",
              "nodeType": "YulBlock",
              "src": "20125:132:136",
              "statements": [
                {
                  "nativeSrc": "20135:26:136",
                  "nodeType": "YulAssignment",
                  "src": "20135:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20147:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20147:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20158:2:136",
                        "nodeType": "YulLiteral",
                        "src": "20158:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20143:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20143:3:136"
                    },
                    "nativeSrc": "20143:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20143:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "20135:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "20135:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20195:22:136",
                    "nodeType": "YulBlock",
                    "src": "20195:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "20197:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "20197:16:136"
                          },
                          "nativeSrc": "20197:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "20197:18:136"
                        },
                        "nativeSrc": "20197:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "20197:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "20183:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20183:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20191:1:136",
                            "nodeType": "YulLiteral",
                            "src": "20191:1:136",
                            "type": "",
                            "value": "7"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "20180:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "20180:2:136"
                        },
                        "nativeSrc": "20180:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20180:13:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20173:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20173:6:136"
                    },
                    "nativeSrc": "20173:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20173:21:136"
                  },
                  "nativeSrc": "20170:47:136",
                  "nodeType": "YulIf",
                  "src": "20170:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20233:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20233:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "20244:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20244:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20226:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20226:6:136"
                    },
                    "nativeSrc": "20226:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20226:25:136"
                  },
                  "nativeSrc": "20226:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20226:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryResponseStatus_$28682__to_t_uint8__fromStack_reversed",
            "nativeSrc": "20001:256:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20094:9:136",
                "nodeType": "YulTypedName",
                "src": "20094:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "20105:6:136",
                "nodeType": "YulTypedName",
                "src": "20105:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "20116:4:136",
                "nodeType": "YulTypedName",
                "src": "20116:4:136",
                "type": ""
              }
            ],
            "src": "20001:256:136"
          },
          {
            "body": {
              "nativeSrc": "20332:156:136",
              "nodeType": "YulBlock",
              "src": "20332:156:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20378:16:136",
                    "nodeType": "YulBlock",
                    "src": "20378:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20387:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20387:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20390:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20390:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20380:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20380:6:136"
                          },
                          "nativeSrc": "20380:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "20380:12:136"
                        },
                        "nativeSrc": "20380:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "20380:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20353:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "20353:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20362:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20362:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20349:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20349:3:136"
                        },
                        "nativeSrc": "20349:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20349:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20374:2:136",
                        "nodeType": "YulLiteral",
                        "src": "20374:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20345:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20345:3:136"
                    },
                    "nativeSrc": "20345:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20345:32:136"
                  },
                  "nativeSrc": "20342:52:136",
                  "nodeType": "YulIf",
                  "src": "20342:52:136"
                },
                {
                  "nativeSrc": "20403:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20403:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "20416:1:136",
                    "nodeType": "YulLiteral",
                    "src": "20416:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "20407:5:136",
                      "nodeType": "YulTypedName",
                      "src": "20407:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "20426:32:136",
                  "nodeType": "YulAssignment",
                  "src": "20426:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20448:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20448:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20435:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "20435:12:136"
                    },
                    "nativeSrc": "20435:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20435:23:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "20426:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "20426:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "20467:15:136",
                  "nodeType": "YulAssignment",
                  "src": "20467:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "20477:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "20477:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "20467:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20467:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32",
            "nativeSrc": "20262:226:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20298:9:136",
                "nodeType": "YulTypedName",
                "src": "20298:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "20309:7:136",
                "nodeType": "YulTypedName",
                "src": "20309:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "20321:6:136",
                "nodeType": "YulTypedName",
                "src": "20321:6:136",
                "type": ""
              }
            ],
            "src": "20262:226:136"
          },
          {
            "body": {
              "nativeSrc": "20648:162:136",
              "nodeType": "YulBlock",
              "src": "20648:162:136",
              "statements": [
                {
                  "nativeSrc": "20658:26:136",
                  "nodeType": "YulAssignment",
                  "src": "20658:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20670:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20670:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20681:2:136",
                        "nodeType": "YulLiteral",
                        "src": "20681:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20666:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20666:3:136"
                    },
                    "nativeSrc": "20666:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20666:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "20658:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "20658:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20700:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20700:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "20711:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20711:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20693:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20693:6:136"
                    },
                    "nativeSrc": "20693:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20693:25:136"
                  },
                  "nativeSrc": "20693:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20693:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20738:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20738:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20749:2:136",
                            "nodeType": "YulLiteral",
                            "src": "20749:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20734:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20734:3:136"
                        },
                        "nativeSrc": "20734:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20734:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "20754:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20754:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20727:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20727:6:136"
                    },
                    "nativeSrc": "20727:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20727:34:136"
                  },
                  "nativeSrc": "20727:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20727:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20781:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20781:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20792:2:136",
                            "nodeType": "YulLiteral",
                            "src": "20792:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20777:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20777:3:136"
                        },
                        "nativeSrc": "20777:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20777:18:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "20797:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20797:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20770:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20770:6:136"
                    },
                    "nativeSrc": "20770:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20770:34:136"
                  },
                  "nativeSrc": "20770:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20770:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "20493:317:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20601:9:136",
                "nodeType": "YulTypedName",
                "src": "20601:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "20612:6:136",
                "nodeType": "YulTypedName",
                "src": "20612:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "20620:6:136",
                "nodeType": "YulTypedName",
                "src": "20620:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "20628:6:136",
                "nodeType": "YulTypedName",
                "src": "20628:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "20639:4:136",
                "nodeType": "YulTypedName",
                "src": "20639:4:136",
                "type": ""
              }
            ],
            "src": "20493:317:136"
          },
          {
            "body": {
              "nativeSrc": "20919:340:136",
              "nodeType": "YulBlock",
              "src": "20919:340:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20965:16:136",
                    "nodeType": "YulBlock",
                    "src": "20965:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20974:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20974:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20977:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20977:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20967:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20967:6:136"
                          },
                          "nativeSrc": "20967:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "20967:12:136"
                        },
                        "nativeSrc": "20967:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "20967:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20940:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "20940:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20949:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20949:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20936:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20936:3:136"
                        },
                        "nativeSrc": "20936:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20936:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20961:2:136",
                        "nodeType": "YulLiteral",
                        "src": "20961:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20932:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20932:3:136"
                    },
                    "nativeSrc": "20932:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20932:32:136"
                  },
                  "nativeSrc": "20929:52:136",
                  "nodeType": "YulIf",
                  "src": "20929:52:136"
                },
                {
                  "nativeSrc": "20990:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20990:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21017:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21017:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "21004:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "21004:12:136"
                    },
                    "nativeSrc": "21004:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21004:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "20994:6:136",
                      "nodeType": "YulTypedName",
                      "src": "20994:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21070:16:136",
                    "nodeType": "YulBlock",
                    "src": "21070:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21079:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21079:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21082:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21082:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21072:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21072:6:136"
                          },
                          "nativeSrc": "21072:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21072:12:136"
                        },
                        "nativeSrc": "21072:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21072:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21042:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21042:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21050:18:136",
                        "nodeType": "YulLiteral",
                        "src": "21050:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21039:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "21039:2:136"
                    },
                    "nativeSrc": "21039:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21039:30:136"
                  },
                  "nativeSrc": "21036:50:136",
                  "nodeType": "YulIf",
                  "src": "21036:50:136"
                },
                {
                  "nativeSrc": "21095:104:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21095:104:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21171:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "21171:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "21182:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21182:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21167:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21167:3:136"
                        },
                        "nativeSrc": "21167:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21167:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "21191:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "21191:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_calldata_dyn_calldata",
                      "nativeSrc": "21121:45:136",
                      "nodeType": "YulIdentifier",
                      "src": "21121:45:136"
                    },
                    "nativeSrc": "21121:78:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21121:78:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "21099:8:136",
                      "nodeType": "YulTypedName",
                      "src": "21099:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "21109:8:136",
                      "nodeType": "YulTypedName",
                      "src": "21109:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21208:18:136",
                  "nodeType": "YulAssignment",
                  "src": "21208:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "21218:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "21218:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "21208:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21208:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "21235:18:136",
                  "nodeType": "YulAssignment",
                  "src": "21235:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "21245:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "21245:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "21235:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21235:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_bytes4_$dyn_calldata_ptr",
            "nativeSrc": "20815:444:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20877:9:136",
                "nodeType": "YulTypedName",
                "src": "20877:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "20888:7:136",
                "nodeType": "YulTypedName",
                "src": "20888:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "20900:6:136",
                "nodeType": "YulTypedName",
                "src": "20900:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "20908:6:136",
                "nodeType": "YulTypedName",
                "src": "20908:6:136",
                "type": ""
              }
            ],
            "src": "20815:444:136"
          },
          {
            "body": {
              "nativeSrc": "21463:479:136",
              "nodeType": "YulBlock",
              "src": "21463:479:136",
              "statements": [
                {
                  "nativeSrc": "21473:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21473:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21491:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21491:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21502:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21502:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21487:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21487:3:136"
                    },
                    "nativeSrc": "21487:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21487:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "21477:6:136",
                      "nodeType": "YulTypedName",
                      "src": "21477:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21521:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21521:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21532:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21532:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21514:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21514:6:136"
                    },
                    "nativeSrc": "21514:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21514:21:136"
                  },
                  "nativeSrc": "21514:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21514:21:136"
                },
                {
                  "nativeSrc": "21544:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21544:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "21555:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "21555:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "21548:3:136",
                      "nodeType": "YulTypedName",
                      "src": "21548:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21570:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21570:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21590:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21590:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21584:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "21584:5:136"
                    },
                    "nativeSrc": "21584:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21584:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "21574:6:136",
                      "nodeType": "YulTypedName",
                      "src": "21574:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "21613:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21613:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "21621:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21621:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21606:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21606:6:136"
                    },
                    "nativeSrc": "21606:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21606:22:136"
                  },
                  "nativeSrc": "21606:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21606:22:136"
                },
                {
                  "nativeSrc": "21637:25:136",
                  "nodeType": "YulAssignment",
                  "src": "21637:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21648:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21648:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21659:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21659:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21644:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21644:3:136"
                    },
                    "nativeSrc": "21644:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21644:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "21637:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21637:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "21671:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21671:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21689:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21689:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21697:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21697:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21685:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21685:3:136"
                    },
                    "nativeSrc": "21685:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21685:15:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "21675:6:136",
                      "nodeType": "YulTypedName",
                      "src": "21675:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21709:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21709:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "21718:1:136",
                    "nodeType": "YulLiteral",
                    "src": "21718:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "21713:1:136",
                      "nodeType": "YulTypedName",
                      "src": "21713:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21777:139:136",
                    "nodeType": "YulBlock",
                    "src": "21777:139:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "21821:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "21821:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "21815:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "21815:5:136"
                              },
                              "nativeSrc": "21815:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "21815:13:136"
                            },
                            {
                              "name": "pos",
                              "nativeSrc": "21830:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "21830:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_struct_Price",
                            "nativeSrc": "21791:23:136",
                            "nodeType": "YulIdentifier",
                            "src": "21791:23:136"
                          },
                          "nativeSrc": "21791:43:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21791:43:136"
                        },
                        "nativeSrc": "21791:43:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21791:43:136"
                      },
                      {
                        "nativeSrc": "21847:21:136",
                        "nodeType": "YulAssignment",
                        "src": "21847:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "21858:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "21858:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21863:4:136",
                              "nodeType": "YulLiteral",
                              "src": "21863:4:136",
                              "type": "",
                              "value": "0x80"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "21854:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21854:3:136"
                          },
                          "nativeSrc": "21854:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21854:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "21847:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21847:3:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "21881:25:136",
                        "nodeType": "YulAssignment",
                        "src": "21881:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "21895:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "21895:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21903:2:136",
                              "nodeType": "YulLiteral",
                              "src": "21903:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "21891:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21891:3:136"
                          },
                          "nativeSrc": "21891:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21891:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "21881:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21881:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "21739:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "21739:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "21742:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21742:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "21736:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "21736:2:136"
                    },
                    "nativeSrc": "21736:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21736:13:136"
                  },
                  "nativeSrc": "21728:188:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "21750:18:136",
                    "nodeType": "YulBlock",
                    "src": "21750:18:136",
                    "statements": [
                      {
                        "nativeSrc": "21752:14:136",
                        "nodeType": "YulAssignment",
                        "src": "21752:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "21761:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "21761:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21764:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21764:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "21757:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21757:3:136"
                          },
                          "nativeSrc": "21757:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21757:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "21752:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "21752:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "21732:3:136",
                    "nodeType": "YulBlock",
                    "src": "21732:3:136",
                    "statements": []
                  },
                  "src": "21728:188:136"
                },
                {
                  "nativeSrc": "21925:11:136",
                  "nodeType": "YulAssignment",
                  "src": "21925:11:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "21933:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "21933:3:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21925:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "21925:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "21264:678:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21432:9:136",
                "nodeType": "YulTypedName",
                "src": "21432:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21443:6:136",
                "nodeType": "YulTypedName",
                "src": "21443:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21454:4:136",
                "nodeType": "YulTypedName",
                "src": "21454:4:136",
                "type": ""
              }
            ],
            "src": "21264:678:136"
          },
          {
            "body": {
              "nativeSrc": "22048:144:136",
              "nodeType": "YulBlock",
              "src": "22048:144:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22094:16:136",
                    "nodeType": "YulBlock",
                    "src": "22094:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22103:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22103:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22106:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22106:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22096:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22096:6:136"
                          },
                          "nativeSrc": "22096:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22096:12:136"
                        },
                        "nativeSrc": "22096:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22096:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22069:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "22069:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22078:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22078:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22065:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22065:3:136"
                        },
                        "nativeSrc": "22065:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22065:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22090:2:136",
                        "nodeType": "YulLiteral",
                        "src": "22090:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22061:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "22061:3:136"
                    },
                    "nativeSrc": "22061:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22061:32:136"
                  },
                  "nativeSrc": "22058:52:136",
                  "nodeType": "YulIf",
                  "src": "22058:52:136"
                },
                {
                  "nativeSrc": "22119:67:136",
                  "nodeType": "YulAssignment",
                  "src": "22119:67:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22167:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "22167:9:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "22178:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22178:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLAv2_calldata",
                      "nativeSrc": "22129:37:136",
                      "nodeType": "YulIdentifier",
                      "src": "22129:37:136"
                    },
                    "nativeSrc": "22129:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22129:57:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22119:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22119:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonSLAv2_$29146_calldata_ptr",
            "nativeSrc": "21947:245:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22014:9:136",
                "nodeType": "YulTypedName",
                "src": "22014:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22025:7:136",
                "nodeType": "YulTypedName",
                "src": "22025:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22037:6:136",
                "nodeType": "YulTypedName",
                "src": "22037:6:136",
                "type": ""
              }
            ],
            "src": "21947:245:136"
          },
          {
            "body": {
              "nativeSrc": "22430:726:136",
              "nodeType": "YulBlock",
              "src": "22430:726:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22476:16:136",
                    "nodeType": "YulBlock",
                    "src": "22476:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22485:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22485:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22488:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22488:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22478:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22478:6:136"
                          },
                          "nativeSrc": "22478:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22478:12:136"
                        },
                        "nativeSrc": "22478:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22478:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22451:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "22451:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22460:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22460:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22447:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22447:3:136"
                        },
                        "nativeSrc": "22447:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22447:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22472:2:136",
                        "nodeType": "YulLiteral",
                        "src": "22472:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22443:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "22443:3:136"
                    },
                    "nativeSrc": "22443:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22443:32:136"
                  },
                  "nativeSrc": "22440:52:136",
                  "nodeType": "YulIf",
                  "src": "22440:52:136"
                },
                {
                  "nativeSrc": "22501:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22501:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22528:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "22528:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22515:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "22515:12:136"
                    },
                    "nativeSrc": "22515:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22515:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "22505:6:136",
                      "nodeType": "YulTypedName",
                      "src": "22505:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22581:16:136",
                    "nodeType": "YulBlock",
                    "src": "22581:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22590:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22590:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22593:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22593:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22583:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22583:6:136"
                          },
                          "nativeSrc": "22583:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22583:12:136"
                        },
                        "nativeSrc": "22583:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22583:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "22553:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "22553:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22561:18:136",
                        "nodeType": "YulLiteral",
                        "src": "22561:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22550:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22550:2:136"
                    },
                    "nativeSrc": "22550:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22550:30:136"
                  },
                  "nativeSrc": "22547:50:136",
                  "nodeType": "YulIf",
                  "src": "22547:50:136"
                },
                {
                  "nativeSrc": "22606:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22606:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22663:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22663:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "22674:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22674:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22659:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22659:3:136"
                        },
                        "nativeSrc": "22659:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22659:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "22683:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22683:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "22632:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "22632:26:136"
                    },
                    "nativeSrc": "22632:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22632:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "22610:8:136",
                      "nodeType": "YulTypedName",
                      "src": "22610:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "22620:8:136",
                      "nodeType": "YulTypedName",
                      "src": "22620:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22700:18:136",
                  "nodeType": "YulAssignment",
                  "src": "22700:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "22710:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "22710:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22700:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22700:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22727:18:136",
                  "nodeType": "YulAssignment",
                  "src": "22727:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "22737:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "22737:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "22727:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22727:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22754:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22754:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22784:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22784:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22795:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22795:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22780:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22780:3:136"
                        },
                        "nativeSrc": "22780:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22780:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22767:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "22767:12:136"
                    },
                    "nativeSrc": "22767:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22767:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "22758:5:136",
                      "nodeType": "YulTypedName",
                      "src": "22758:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "22833:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "22833:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "22808:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "22808:24:136"
                    },
                    "nativeSrc": "22808:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22808:31:136"
                  },
                  "nativeSrc": "22808:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22808:31:136"
                },
                {
                  "nativeSrc": "22848:15:136",
                  "nodeType": "YulAssignment",
                  "src": "22848:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "22858:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "22858:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "22848:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22848:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22872:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22872:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22905:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22905:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22916:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22916:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22901:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22901:3:136"
                        },
                        "nativeSrc": "22901:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22901:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22888:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "22888:12:136"
                    },
                    "nativeSrc": "22888:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22888:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "22876:8:136",
                      "nodeType": "YulTypedName",
                      "src": "22876:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22965:16:136",
                    "nodeType": "YulBlock",
                    "src": "22965:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22974:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22974:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22977:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22977:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22967:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22967:6:136"
                          },
                          "nativeSrc": "22967:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22967:12:136"
                        },
                        "nativeSrc": "22967:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22967:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "22935:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "22935:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22945:18:136",
                        "nodeType": "YulLiteral",
                        "src": "22945:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22932:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22932:2:136"
                    },
                    "nativeSrc": "22932:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22932:32:136"
                  },
                  "nativeSrc": "22929:52:136",
                  "nodeType": "YulIf",
                  "src": "22929:52:136"
                },
                {
                  "nativeSrc": "22990:106:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22990:106:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23066:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23066:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "23077:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "23077:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23062:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23062:3:136"
                        },
                        "nativeSrc": "23062:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23062:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "23088:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "23088:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_calldata_dyn_calldata",
                      "nativeSrc": "23016:45:136",
                      "nodeType": "YulIdentifier",
                      "src": "23016:45:136"
                    },
                    "nativeSrc": "23016:80:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23016:80:136"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "22994:8:136",
                      "nodeType": "YulTypedName",
                      "src": "22994:8:136",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "23004:8:136",
                      "nodeType": "YulTypedName",
                      "src": "23004:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23105:18:136",
                  "nodeType": "YulAssignment",
                  "src": "23105:18:136",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "23115:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "23115:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "23105:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23105:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "23132:18:136",
                  "nodeType": "YulAssignment",
                  "src": "23132:18:136",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "23142:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "23142:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "23132:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23132:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_contract$_IWitOracleRequestTemplate_$29115t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "22197:959:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22364:9:136",
                "nodeType": "YulTypedName",
                "src": "22364:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22375:7:136",
                "nodeType": "YulTypedName",
                "src": "22375:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22387:6:136",
                "nodeType": "YulTypedName",
                "src": "22387:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "22395:6:136",
                "nodeType": "YulTypedName",
                "src": "22395:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "22403:6:136",
                "nodeType": "YulTypedName",
                "src": "22403:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "22411:6:136",
                "nodeType": "YulTypedName",
                "src": "22411:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "22419:6:136",
                "nodeType": "YulTypedName",
                "src": "22419:6:136",
                "type": ""
              }
            ],
            "src": "22197:959:136"
          },
          {
            "body": {
              "nativeSrc": "23211:162:136",
              "nodeType": "YulBlock",
              "src": "23211:162:136",
              "statements": [
                {
                  "nativeSrc": "23221:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23221:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "23241:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "23241:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23235:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23235:5:136"
                    },
                    "nativeSrc": "23235:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23235:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "23225:6:136",
                      "nodeType": "YulTypedName",
                      "src": "23225:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "23262:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "23262:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "23271:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "23271:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23278:4:136",
                            "nodeType": "YulLiteral",
                            "src": "23278:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23267:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23267:3:136"
                        },
                        "nativeSrc": "23267:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23267:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23285:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23285:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "23256:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23256:5:136"
                    },
                    "nativeSrc": "23256:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23256:36:136"
                  },
                  "nativeSrc": "23256:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23256:36:136"
                },
                {
                  "nativeSrc": "23301:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23301:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "23315:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "23315:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23320:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23320:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23311:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23311:3:136"
                    },
                    "nativeSrc": "23311:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23311:16:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "23305:2:136",
                      "nodeType": "YulTypedName",
                      "src": "23305:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "23343:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "23343:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23347:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23347:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23336:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23336:6:136"
                    },
                    "nativeSrc": "23336:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23336:13:136"
                  },
                  "nativeSrc": "23336:13:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23336:13:136"
                },
                {
                  "nativeSrc": "23358:9:136",
                  "nodeType": "YulAssignment",
                  "src": "23358:9:136",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "23365:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "23365:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "23358:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23358:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string",
            "nativeSrc": "23161:212:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "23188:5:136",
                "nodeType": "YulTypedName",
                "src": "23188:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "23195:3:136",
                "nodeType": "YulTypedName",
                "src": "23195:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "23203:3:136",
                "nodeType": "YulTypedName",
                "src": "23203:3:136",
                "type": ""
              }
            ],
            "src": "23161:212:136"
          },
          {
            "body": {
              "nativeSrc": "23666:134:136",
              "nodeType": "YulBlock",
              "src": "23666:134:136",
              "statements": [
                {
                  "nativeSrc": "23676:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23676:40:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23704:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23704:6:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "23712:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "23712:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "23686:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "23686:17:136"
                    },
                    "nativeSrc": "23686:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23686:30:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "23680:2:136",
                      "nodeType": "YulTypedName",
                      "src": "23680:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "23732:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "23732:2:136"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "23736:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23736:4:136",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23725:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23725:6:136"
                    },
                    "nativeSrc": "23725:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23725:16:136"
                  },
                  "nativeSrc": "23725:16:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23725:16:136"
                },
                {
                  "nativeSrc": "23750:44:136",
                  "nodeType": "YulAssignment",
                  "src": "23750:44:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "23775:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23775:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "23787:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "23787:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23791:1:136",
                            "nodeType": "YulLiteral",
                            "src": "23791:1:136",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23783:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23783:3:136"
                        },
                        "nativeSrc": "23783:10:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23783:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "23757:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "23757:17:136"
                    },
                    "nativeSrc": "23757:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23757:37:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "23750:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23750:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "23378:422:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "23634:3:136",
                "nodeType": "YulTypedName",
                "src": "23634:3:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "23639:6:136",
                "nodeType": "YulTypedName",
                "src": "23639:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23647:6:136",
                "nodeType": "YulTypedName",
                "src": "23647:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "23658:3:136",
                "nodeType": "YulTypedName",
                "src": "23658:3:136",
                "type": ""
              }
            ],
            "src": "23378:422:136"
          },
          {
            "body": {
              "nativeSrc": "23873:114:136",
              "nodeType": "YulBlock",
              "src": "23873:114:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "23917:22:136",
                    "nodeType": "YulBlock",
                    "src": "23917:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "23919:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "23919:16:136"
                          },
                          "nativeSrc": "23919:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "23919:18:136"
                        },
                        "nativeSrc": "23919:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "23919:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "23889:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23889:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23897:18:136",
                        "nodeType": "YulLiteral",
                        "src": "23897:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "23886:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "23886:2:136"
                    },
                    "nativeSrc": "23886:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23886:30:136"
                  },
                  "nativeSrc": "23883:56:136",
                  "nodeType": "YulIf",
                  "src": "23883:56:136"
                },
                {
                  "nativeSrc": "23948:33:136",
                  "nodeType": "YulAssignment",
                  "src": "23948:33:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "23964:1:136",
                            "nodeType": "YulLiteral",
                            "src": "23964:1:136",
                            "type": "",
                            "value": "5"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "23967:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23967:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "23960:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23960:3:136"
                        },
                        "nativeSrc": "23960:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23960:14:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23976:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23976:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23956:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23956:3:136"
                    },
                    "nativeSrc": "23956:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23956:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "23948:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "23948:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_array_bytes4_dyn",
            "nativeSrc": "23805:182:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "23853:6:136",
                "nodeType": "YulTypedName",
                "src": "23853:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "23864:4:136",
                "nodeType": "YulTypedName",
                "src": "23864:4:136",
                "type": ""
              }
            ],
            "src": "23805:182:136"
          },
          {
            "body": {
              "nativeSrc": "24056:526:136",
              "nodeType": "YulBlock",
              "src": "24056:526:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24105:16:136",
                    "nodeType": "YulBlock",
                    "src": "24105:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24114:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24114:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24117:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24117:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24107:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24107:6:136"
                          },
                          "nativeSrc": "24107:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24107:12:136"
                        },
                        "nativeSrc": "24107:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24107:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "24084:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24084:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24092:4:136",
                                "nodeType": "YulLiteral",
                                "src": "24092:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "24080:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "24080:3:136"
                            },
                            "nativeSrc": "24080:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24080:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "24099:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "24099:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "24076:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24076:3:136"
                        },
                        "nativeSrc": "24076:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24076:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24069:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24069:6:136"
                    },
                    "nativeSrc": "24069:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24069:35:136"
                  },
                  "nativeSrc": "24066:55:136",
                  "nodeType": "YulIf",
                  "src": "24066:55:136"
                },
                {
                  "nativeSrc": "24130:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24130:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "24150:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24150:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24144:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24144:5:136"
                    },
                    "nativeSrc": "24144:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24144:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "24134:6:136",
                      "nodeType": "YulTypedName",
                      "src": "24134:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24166:28:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24166:28:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "24181:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24181:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24189:4:136",
                        "nodeType": "YulLiteral",
                        "src": "24189:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24177:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24177:3:136"
                    },
                    "nativeSrc": "24177:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24177:17:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "24170:3:136",
                      "nodeType": "YulTypedName",
                      "src": "24170:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24203:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24203:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24218:1:136",
                    "nodeType": "YulLiteral",
                    "src": "24218:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "array_1",
                      "nativeSrc": "24207:7:136",
                      "nodeType": "YulTypedName",
                      "src": "24207:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24228:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24228:45:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "24266:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24266:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "24238:27:136",
                      "nodeType": "YulIdentifier",
                      "src": "24238:27:136"
                    },
                    "nativeSrc": "24238:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24238:35:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "24232:2:136",
                      "nodeType": "YulTypedName",
                      "src": "24232:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24282:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24282:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "24302:2:136",
                        "nodeType": "YulLiteral",
                        "src": "24302:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24296:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24296:5:136"
                    },
                    "nativeSrc": "24296:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24296:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "24286:6:136",
                      "nodeType": "YulTypedName",
                      "src": "24286:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "24334:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24334:6:136"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "24342:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "24342:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "24314:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "24314:19:136"
                    },
                    "nativeSrc": "24314:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24314:31:136"
                  },
                  "nativeSrc": "24314:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24314:31:136"
                },
                {
                  "nativeSrc": "24354:17:136",
                  "nodeType": "YulAssignment",
                  "src": "24354:17:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "24365:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "24365:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "array_1",
                      "nativeSrc": "24354:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "24354:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "24387:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24387:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24395:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24395:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24380:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24380:6:136"
                    },
                    "nativeSrc": "24380:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24380:22:136"
                  },
                  "nativeSrc": "24380:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24380:22:136"
                },
                {
                  "body": {
                    "nativeSrc": "24440:16:136",
                    "nodeType": "YulBlock",
                    "src": "24440:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24449:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24449:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24452:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24452:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24442:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24442:6:136"
                          },
                          "nativeSrc": "24442:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24442:12:136"
                        },
                        "nativeSrc": "24442:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24442:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "src",
                            "nativeSrc": "24421:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "24421:3:136"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "24426:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24426:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24417:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24417:3:136"
                        },
                        "nativeSrc": "24417:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24417:16:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "24435:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "24435:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "24414:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "24414:2:136"
                    },
                    "nativeSrc": "24414:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24414:25:136"
                  },
                  "nativeSrc": "24411:45:136",
                  "nodeType": "YulIf",
                  "src": "24411:45:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "24475:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24475:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24483:4:136",
                            "nodeType": "YulLiteral",
                            "src": "24483:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24471:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24471:3:136"
                        },
                        "nativeSrc": "24471:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24471:17:136"
                      },
                      {
                        "name": "src",
                        "nativeSrc": "24490:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "24490:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24495:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24495:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "24465:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24465:5:136"
                    },
                    "nativeSrc": "24465:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24465:37:136"
                  },
                  "nativeSrc": "24465:37:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24465:37:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "24526:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24526:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "24534:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24534:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "24522:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "24522:3:136"
                            },
                            "nativeSrc": "24522:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24522:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24543:4:136",
                            "nodeType": "YulLiteral",
                            "src": "24543:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24518:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24518:3:136"
                        },
                        "nativeSrc": "24518:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24518:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24550:1:136",
                        "nodeType": "YulLiteral",
                        "src": "24550:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24511:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24511:6:136"
                    },
                    "nativeSrc": "24511:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24511:41:136"
                  },
                  "nativeSrc": "24511:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24511:41:136"
                },
                {
                  "nativeSrc": "24561:15:136",
                  "nodeType": "YulAssignment",
                  "src": "24561:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "24570:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "24570:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "24561:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24561:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_string_fromMemory",
            "nativeSrc": "23992:590:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "24030:6:136",
                "nodeType": "YulTypedName",
                "src": "24030:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "24038:3:136",
                "nodeType": "YulTypedName",
                "src": "24038:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "24046:5:136",
                "nodeType": "YulTypedName",
                "src": "24046:5:136",
                "type": ""
              }
            ],
            "src": "23992:590:136"
          },
          {
            "body": {
              "nativeSrc": "24661:818:136",
              "nodeType": "YulBlock",
              "src": "24661:818:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24710:16:136",
                    "nodeType": "YulBlock",
                    "src": "24710:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24719:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24719:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24722:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24722:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24712:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24712:6:136"
                          },
                          "nativeSrc": "24712:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24712:12:136"
                        },
                        "nativeSrc": "24712:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24712:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "24689:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24689:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24697:4:136",
                                "nodeType": "YulLiteral",
                                "src": "24697:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "24685:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "24685:3:136"
                            },
                            "nativeSrc": "24685:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24685:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "24704:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "24704:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "24681:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24681:3:136"
                        },
                        "nativeSrc": "24681:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24681:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24674:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24674:6:136"
                    },
                    "nativeSrc": "24674:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24674:35:136"
                  },
                  "nativeSrc": "24671:55:136",
                  "nodeType": "YulIf",
                  "src": "24671:55:136"
                },
                {
                  "nativeSrc": "24735:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24735:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "24755:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24755:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24749:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24749:5:136"
                    },
                    "nativeSrc": "24749:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24749:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "24739:6:136",
                      "nodeType": "YulTypedName",
                      "src": "24739:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24771:56:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24771:56:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "24820:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24820:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_bytes4_dyn",
                      "nativeSrc": "24781:38:136",
                      "nodeType": "YulIdentifier",
                      "src": "24781:38:136"
                    },
                    "nativeSrc": "24781:46:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24781:46:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "24775:2:136",
                      "nodeType": "YulTypedName",
                      "src": "24775:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24836:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24836:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "24856:2:136",
                        "nodeType": "YulLiteral",
                        "src": "24856:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24850:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24850:5:136"
                    },
                    "nativeSrc": "24850:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24850:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "24840:6:136",
                      "nodeType": "YulTypedName",
                      "src": "24840:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "24888:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24888:6:136"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "24896:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "24896:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "24868:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "24868:19:136"
                    },
                    "nativeSrc": "24868:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24868:31:136"
                  },
                  "nativeSrc": "24868:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24868:31:136"
                },
                {
                  "nativeSrc": "24908:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24908:17:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "24919:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "24919:6:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "24912:3:136",
                      "nodeType": "YulTypedName",
                      "src": "24912:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "24941:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24941:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24949:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24949:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24934:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24934:6:136"
                    },
                    "nativeSrc": "24934:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24934:22:136"
                  },
                  "nativeSrc": "24934:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24934:22:136"
                },
                {
                  "nativeSrc": "24965:24:136",
                  "nodeType": "YulAssignment",
                  "src": "24965:24:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "24976:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24976:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24984:4:136",
                        "nodeType": "YulLiteral",
                        "src": "24984:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24972:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24972:3:136"
                    },
                    "nativeSrc": "24972:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24972:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "24965:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24965:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "24998:52:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24998:52:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "25020:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25020:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "25032:1:136",
                                "nodeType": "YulLiteral",
                                "src": "25032:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "25035:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "25035:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "25028:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25028:3:136"
                            },
                            "nativeSrc": "25028:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25028:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25016:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25016:3:136"
                        },
                        "nativeSrc": "25016:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25016:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25045:4:136",
                        "nodeType": "YulLiteral",
                        "src": "25045:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25012:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25012:3:136"
                    },
                    "nativeSrc": "25012:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25012:38:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "25002:6:136",
                      "nodeType": "YulTypedName",
                      "src": "25002:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25078:16:136",
                    "nodeType": "YulBlock",
                    "src": "25078:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25087:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25087:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25090:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25090:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25080:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25080:6:136"
                          },
                          "nativeSrc": "25080:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25080:12:136"
                        },
                        "nativeSrc": "25080:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "25080:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "25065:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25065:6:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "25073:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25073:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "25062:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "25062:2:136"
                    },
                    "nativeSrc": "25062:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25062:15:136"
                  },
                  "nativeSrc": "25059:35:136",
                  "nodeType": "YulIf",
                  "src": "25059:35:136"
                },
                {
                  "nativeSrc": "25103:28:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25103:28:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "25118:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25118:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25126:4:136",
                        "nodeType": "YulLiteral",
                        "src": "25126:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25114:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25114:3:136"
                    },
                    "nativeSrc": "25114:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25114:17:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "25107:3:136",
                      "nodeType": "YulTypedName",
                      "src": "25107:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25198:251:136",
                    "nodeType": "YulBlock",
                    "src": "25198:251:136",
                    "statements": [
                      {
                        "nativeSrc": "25212:29:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "25212:29:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "25237:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25237:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "25231:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "25231:5:136"
                          },
                          "nativeSrc": "25231:10:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25231:10:136"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "25216:11:136",
                            "nodeType": "YulTypedName",
                            "src": "25216:11:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "25293:16:136",
                          "nodeType": "YulBlock",
                          "src": "25293:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "25302:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "25302:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "25305:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "25305:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "25295:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "25295:6:136"
                                },
                                "nativeSrc": "25295:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "25295:12:136"
                              },
                              "nativeSrc": "25295:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "25295:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "25260:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "25260:11:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25273:18:136",
                              "nodeType": "YulLiteral",
                              "src": "25273:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "25257:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "25257:2:136"
                          },
                          "nativeSrc": "25257:35:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25257:35:136"
                        },
                        "nativeSrc": "25254:55:136",
                        "nodeType": "YulIf",
                        "src": "25254:55:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "25329:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25329:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "offset",
                                          "nativeSrc": "25371:6:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "25371:6:136"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "25379:11:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "25379:11:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "25367:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "25367:3:136"
                                      },
                                      "nativeSrc": "25367:24:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "25367:24:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "25393:4:136",
                                      "nodeType": "YulLiteral",
                                      "src": "25393:4:136",
                                      "type": "",
                                      "value": "0x20"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "25363:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "25363:3:136"
                                  },
                                  "nativeSrc": "25363:35:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "25363:35:136"
                                },
                                {
                                  "name": "end",
                                  "nativeSrc": "25400:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "25400:3:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "25334:28:136",
                                "nodeType": "YulIdentifier",
                                "src": "25334:28:136"
                              },
                              "nativeSrc": "25334:70:136",
                              "nodeType": "YulFunctionCall",
                              "src": "25334:70:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "25322:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25322:6:136"
                          },
                          "nativeSrc": "25322:83:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25322:83:136"
                        },
                        "nativeSrc": "25322:83:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "25322:83:136"
                      },
                      {
                        "nativeSrc": "25418:21:136",
                        "nodeType": "YulAssignment",
                        "src": "25418:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "25429:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25429:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25434:4:136",
                              "nodeType": "YulLiteral",
                              "src": "25434:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "25425:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25425:3:136"
                          },
                          "nativeSrc": "25425:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25425:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "25418:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25418:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "25151:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25151:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "25156:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25156:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "25148:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "25148:2:136"
                    },
                    "nativeSrc": "25148:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25148:15:136"
                  },
                  "nativeSrc": "25140:309:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "25164:25:136",
                    "nodeType": "YulBlock",
                    "src": "25164:25:136",
                    "statements": [
                      {
                        "nativeSrc": "25166:21:136",
                        "nodeType": "YulAssignment",
                        "src": "25166:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "25177:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25177:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25182:4:136",
                              "nodeType": "YulLiteral",
                              "src": "25182:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "25173:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25173:3:136"
                          },
                          "nativeSrc": "25173:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25173:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "25166:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25166:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "25144:3:136",
                    "nodeType": "YulBlock",
                    "src": "25144:3:136",
                    "statements": []
                  },
                  "src": "25140:309:136"
                },
                {
                  "nativeSrc": "25458:15:136",
                  "nodeType": "YulAssignment",
                  "src": "25458:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "25467:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "25467:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "25458:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "25458:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_array_string_dyn_fromMemory",
            "nativeSrc": "24587:892:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "24635:6:136",
                "nodeType": "YulTypedName",
                "src": "24635:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "24643:3:136",
                "nodeType": "YulTypedName",
                "src": "24643:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "24651:5:136",
                "nodeType": "YulTypedName",
                "src": "24651:5:136",
                "type": ""
              }
            ],
            "src": "24587:892:136"
          },
          {
            "body": {
              "nativeSrc": "25559:702:136",
              "nodeType": "YulBlock",
              "src": "25559:702:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "25608:16:136",
                    "nodeType": "YulBlock",
                    "src": "25608:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25617:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25617:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25620:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25620:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25610:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25610:6:136"
                          },
                          "nativeSrc": "25610:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25610:12:136"
                        },
                        "nativeSrc": "25610:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "25610:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "25587:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "25587:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "25595:4:136",
                                "nodeType": "YulLiteral",
                                "src": "25595:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "25583:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25583:3:136"
                            },
                            "nativeSrc": "25583:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25583:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "25602:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25602:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "25579:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25579:3:136"
                        },
                        "nativeSrc": "25579:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25579:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "25572:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25572:6:136"
                    },
                    "nativeSrc": "25572:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25572:35:136"
                  },
                  "nativeSrc": "25569:55:136",
                  "nodeType": "YulIf",
                  "src": "25569:55:136"
                },
                {
                  "nativeSrc": "25633:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25633:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "25653:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25653:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25647:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "25647:5:136"
                    },
                    "nativeSrc": "25647:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25647:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "25637:6:136",
                      "nodeType": "YulTypedName",
                      "src": "25637:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "25669:56:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25669:56:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "25718:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25718:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_bytes4_dyn",
                      "nativeSrc": "25679:38:136",
                      "nodeType": "YulIdentifier",
                      "src": "25679:38:136"
                    },
                    "nativeSrc": "25679:46:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25679:46:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "25673:2:136",
                      "nodeType": "YulTypedName",
                      "src": "25673:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "25734:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25734:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "25754:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25754:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25748:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "25748:5:136"
                    },
                    "nativeSrc": "25748:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25748:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "25738:6:136",
                      "nodeType": "YulTypedName",
                      "src": "25738:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "25786:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25786:6:136"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "25794:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "25794:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "25766:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "25766:19:136"
                    },
                    "nativeSrc": "25766:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25766:31:136"
                  },
                  "nativeSrc": "25766:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25766:31:136"
                },
                {
                  "nativeSrc": "25806:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25806:17:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "25817:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "25817:6:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "25810:3:136",
                      "nodeType": "YulTypedName",
                      "src": "25810:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "25839:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25839:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "25847:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25847:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25832:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25832:6:136"
                    },
                    "nativeSrc": "25832:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25832:22:136"
                  },
                  "nativeSrc": "25832:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25832:22:136"
                },
                {
                  "nativeSrc": "25863:24:136",
                  "nodeType": "YulAssignment",
                  "src": "25863:24:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "25874:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25874:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25882:4:136",
                        "nodeType": "YulLiteral",
                        "src": "25882:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25870:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25870:3:136"
                    },
                    "nativeSrc": "25870:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25870:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "25863:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25863:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "25896:52:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25896:52:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "25918:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25918:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "25930:1:136",
                                "nodeType": "YulLiteral",
                                "src": "25930:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "25933:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "25933:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "25926:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25926:3:136"
                            },
                            "nativeSrc": "25926:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25926:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25914:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25914:3:136"
                        },
                        "nativeSrc": "25914:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25914:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25943:4:136",
                        "nodeType": "YulLiteral",
                        "src": "25943:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25910:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25910:3:136"
                    },
                    "nativeSrc": "25910:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25910:38:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "25900:6:136",
                      "nodeType": "YulTypedName",
                      "src": "25900:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25976:16:136",
                    "nodeType": "YulBlock",
                    "src": "25976:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25985:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25985:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25988:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25988:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25978:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25978:6:136"
                          },
                          "nativeSrc": "25978:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25978:12:136"
                        },
                        "nativeSrc": "25978:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "25978:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "25963:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25963:6:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "25971:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25971:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "25960:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "25960:2:136"
                    },
                    "nativeSrc": "25960:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25960:15:136"
                  },
                  "nativeSrc": "25957:35:136",
                  "nodeType": "YulIf",
                  "src": "25957:35:136"
                },
                {
                  "nativeSrc": "26001:28:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26001:28:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "26016:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26016:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26024:4:136",
                        "nodeType": "YulLiteral",
                        "src": "26024:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26012:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26012:3:136"
                    },
                    "nativeSrc": "26012:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26012:17:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "26005:3:136",
                      "nodeType": "YulTypedName",
                      "src": "26005:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26096:135:136",
                    "nodeType": "YulBlock",
                    "src": "26096:135:136",
                    "statements": [
                      {
                        "nativeSrc": "26110:14:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "26110:14:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "26123:1:136",
                          "nodeType": "YulLiteral",
                          "src": "26123:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "26114:5:136",
                            "nodeType": "YulTypedName",
                            "src": "26114:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "26137:19:136",
                        "nodeType": "YulAssignment",
                        "src": "26137:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "26152:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "26152:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "26146:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "26146:5:136"
                          },
                          "nativeSrc": "26146:10:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26146:10:136"
                        },
                        "variableNames": [
                          {
                            "name": "value",
                            "nativeSrc": "26137:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "26137:5:136"
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "26176:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "26176:3:136"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "26181:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "26181:5:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "26169:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26169:6:136"
                          },
                          "nativeSrc": "26169:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26169:18:136"
                        },
                        "nativeSrc": "26169:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26169:18:136"
                      },
                      {
                        "nativeSrc": "26200:21:136",
                        "nodeType": "YulAssignment",
                        "src": "26200:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "26211:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "26211:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26216:4:136",
                              "nodeType": "YulLiteral",
                              "src": "26216:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26207:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "26207:3:136"
                          },
                          "nativeSrc": "26207:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26207:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "26200:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "26200:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "26049:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "26049:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "26054:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26054:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "26046:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "26046:2:136"
                    },
                    "nativeSrc": "26046:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26046:15:136"
                  },
                  "nativeSrc": "26038:193:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "26062:25:136",
                    "nodeType": "YulBlock",
                    "src": "26062:25:136",
                    "statements": [
                      {
                        "nativeSrc": "26064:21:136",
                        "nodeType": "YulAssignment",
                        "src": "26064:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "26075:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "26075:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26080:4:136",
                              "nodeType": "YulLiteral",
                              "src": "26080:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26071:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "26071:3:136"
                          },
                          "nativeSrc": "26071:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26071:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "26064:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "26064:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "26042:3:136",
                    "nodeType": "YulBlock",
                    "src": "26042:3:136",
                    "statements": []
                  },
                  "src": "26038:193:136"
                },
                {
                  "nativeSrc": "26240:15:136",
                  "nodeType": "YulAssignment",
                  "src": "26240:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "26249:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "26249:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "26240:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26240:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_array_bytes32_dyn_fromMemory",
            "nativeSrc": "25484:777:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "25533:6:136",
                "nodeType": "YulTypedName",
                "src": "25533:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "25541:3:136",
                "nodeType": "YulTypedName",
                "src": "25541:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "25549:5:136",
                "nodeType": "YulTypedName",
                "src": "25549:5:136",
                "type": ""
              }
            ],
            "src": "25484:777:136"
          },
          {
            "body": {
              "nativeSrc": "26465:1324:136",
              "nodeType": "YulBlock",
              "src": "26465:1324:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "26511:16:136",
                    "nodeType": "YulBlock",
                    "src": "26511:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26520:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26520:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26523:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26523:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26513:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26513:6:136"
                          },
                          "nativeSrc": "26513:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26513:12:136"
                        },
                        "nativeSrc": "26513:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26513:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26486:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "26486:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "26495:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26495:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "26482:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26482:3:136"
                        },
                        "nativeSrc": "26482:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26482:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26507:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26507:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "26478:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26478:3:136"
                    },
                    "nativeSrc": "26478:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26478:32:136"
                  },
                  "nativeSrc": "26475:52:136",
                  "nodeType": "YulIf",
                  "src": "26475:52:136"
                },
                {
                  "nativeSrc": "26536:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26536:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26556:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26556:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26550:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26550:5:136"
                    },
                    "nativeSrc": "26550:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26550:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "26540:6:136",
                      "nodeType": "YulTypedName",
                      "src": "26540:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26609:16:136",
                    "nodeType": "YulBlock",
                    "src": "26609:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26618:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26618:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26621:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26621:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26611:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26611:6:136"
                          },
                          "nativeSrc": "26611:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26611:12:136"
                        },
                        "nativeSrc": "26611:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26611:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "26581:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26581:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26589:18:136",
                        "nodeType": "YulLiteral",
                        "src": "26589:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26578:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "26578:2:136"
                    },
                    "nativeSrc": "26578:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26578:30:136"
                  },
                  "nativeSrc": "26575:50:136",
                  "nodeType": "YulIf",
                  "src": "26575:50:136"
                },
                {
                  "nativeSrc": "26634:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26634:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26648:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26648:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "26659:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26659:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26644:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26644:3:136"
                    },
                    "nativeSrc": "26644:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26644:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "26638:2:136",
                      "nodeType": "YulTypedName",
                      "src": "26638:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26714:16:136",
                    "nodeType": "YulBlock",
                    "src": "26714:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26723:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26723:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26726:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26726:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26716:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26716:6:136"
                          },
                          "nativeSrc": "26716:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26716:12:136"
                        },
                        "nativeSrc": "26716:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26716:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "26693:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "26693:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "26697:4:136",
                                "nodeType": "YulLiteral",
                                "src": "26697:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "26689:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "26689:3:136"
                            },
                            "nativeSrc": "26689:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "26689:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26704:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "26704:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "26685:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26685:3:136"
                        },
                        "nativeSrc": "26685:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26685:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "26678:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26678:6:136"
                    },
                    "nativeSrc": "26678:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26678:35:136"
                  },
                  "nativeSrc": "26675:55:136",
                  "nodeType": "YulIf",
                  "src": "26675:55:136"
                },
                {
                  "nativeSrc": "26739:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26739:23:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "26759:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "26759:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26753:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26753:5:136"
                    },
                    "nativeSrc": "26753:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26753:9:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "26743:6:136",
                      "nodeType": "YulTypedName",
                      "src": "26743:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26771:56:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26771:56:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "26820:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26820:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_bytes4_dyn",
                      "nativeSrc": "26781:38:136",
                      "nodeType": "YulIdentifier",
                      "src": "26781:38:136"
                    },
                    "nativeSrc": "26781:46:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26781:46:136"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "26775:2:136",
                      "nodeType": "YulTypedName",
                      "src": "26775:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26836:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26836:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "26856:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26856:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26850:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26850:5:136"
                    },
                    "nativeSrc": "26850:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26850:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "26840:6:136",
                      "nodeType": "YulTypedName",
                      "src": "26840:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26888:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26888:6:136"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "26896:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "26896:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "26868:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "26868:19:136"
                    },
                    "nativeSrc": "26868:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26868:31:136"
                  },
                  "nativeSrc": "26868:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26868:31:136"
                },
                {
                  "nativeSrc": "26908:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26908:17:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "26919:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "26919:6:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "26912:3:136",
                      "nodeType": "YulTypedName",
                      "src": "26912:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26941:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26941:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "26949:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26949:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26934:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26934:6:136"
                    },
                    "nativeSrc": "26934:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26934:22:136"
                  },
                  "nativeSrc": "26934:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26934:22:136"
                },
                {
                  "nativeSrc": "26965:24:136",
                  "nodeType": "YulAssignment",
                  "src": "26965:24:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26976:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26976:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26984:4:136",
                        "nodeType": "YulLiteral",
                        "src": "26984:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26972:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26972:3:136"
                    },
                    "nativeSrc": "26972:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26972:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "26965:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26965:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "26998:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26998:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "27020:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "27020:2:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27028:1:136",
                                "nodeType": "YulLiteral",
                                "src": "27028:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "27031:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "27031:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27024:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "27024:3:136"
                            },
                            "nativeSrc": "27024:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "27024:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27016:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27016:3:136"
                        },
                        "nativeSrc": "27016:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27016:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27041:4:136",
                        "nodeType": "YulLiteral",
                        "src": "27041:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27012:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27012:3:136"
                    },
                    "nativeSrc": "27012:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27012:34:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "27002:6:136",
                      "nodeType": "YulTypedName",
                      "src": "27002:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27078:16:136",
                    "nodeType": "YulBlock",
                    "src": "27078:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27087:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27087:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27090:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27090:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27080:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27080:6:136"
                          },
                          "nativeSrc": "27080:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27080:12:136"
                        },
                        "nativeSrc": "27080:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27080:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "27061:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27061:6:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "27069:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "27069:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "27058:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "27058:2:136"
                    },
                    "nativeSrc": "27058:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27058:19:136"
                  },
                  "nativeSrc": "27055:39:136",
                  "nodeType": "YulIf",
                  "src": "27055:39:136"
                },
                {
                  "nativeSrc": "27103:24:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27103:24:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "27118:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "27118:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27122:4:136",
                        "nodeType": "YulLiteral",
                        "src": "27122:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27114:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27114:3:136"
                    },
                    "nativeSrc": "27114:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27114:13:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "27107:3:136",
                      "nodeType": "YulTypedName",
                      "src": "27107:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27194:155:136",
                    "nodeType": "YulBlock",
                    "src": "27194:155:136",
                    "statements": [
                      {
                        "nativeSrc": "27208:23:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "27208:23:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "27227:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "27227:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "27221:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "27221:5:136"
                          },
                          "nativeSrc": "27221:10:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27221:10:136"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "27212:5:136",
                            "nodeType": "YulTypedName",
                            "src": "27212:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "27268:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "27268:5:136"
                            }
                          ],
                          "functionName": {
                            "name": "validator_revert_bytes4",
                            "nativeSrc": "27244:23:136",
                            "nodeType": "YulIdentifier",
                            "src": "27244:23:136"
                          },
                          "nativeSrc": "27244:30:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27244:30:136"
                        },
                        "nativeSrc": "27244:30:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27244:30:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "27294:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "27294:3:136"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "27299:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "27299:5:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "27287:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27287:6:136"
                          },
                          "nativeSrc": "27287:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27287:18:136"
                        },
                        "nativeSrc": "27287:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27287:18:136"
                      },
                      {
                        "nativeSrc": "27318:21:136",
                        "nodeType": "YulAssignment",
                        "src": "27318:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "27329:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "27329:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27334:4:136",
                              "nodeType": "YulLiteral",
                              "src": "27334:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "27325:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "27325:3:136"
                          },
                          "nativeSrc": "27325:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27325:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "27318:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "27318:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "27147:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "27147:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "27152:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27152:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "27144:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "27144:2:136"
                    },
                    "nativeSrc": "27144:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27144:15:136"
                  },
                  "nativeSrc": "27136:213:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "27160:25:136",
                    "nodeType": "YulBlock",
                    "src": "27160:25:136",
                    "statements": [
                      {
                        "nativeSrc": "27162:21:136",
                        "nodeType": "YulAssignment",
                        "src": "27162:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "27173:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "27173:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27178:4:136",
                              "nodeType": "YulLiteral",
                              "src": "27178:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "27169:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "27169:3:136"
                          },
                          "nativeSrc": "27169:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27169:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "27162:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "27162:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "27140:3:136",
                    "nodeType": "YulBlock",
                    "src": "27140:3:136",
                    "statements": []
                  },
                  "src": "27136:213:136"
                },
                {
                  "nativeSrc": "27358:16:136",
                  "nodeType": "YulAssignment",
                  "src": "27358:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "27368:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "27368:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27358:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27358:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "27383:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27383:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27409:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27409:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27420:4:136",
                            "nodeType": "YulLiteral",
                            "src": "27420:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27405:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27405:3:136"
                        },
                        "nativeSrc": "27405:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27405:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27399:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27399:5:136"
                    },
                    "nativeSrc": "27399:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27399:27:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "27387:8:136",
                      "nodeType": "YulTypedName",
                      "src": "27387:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27471:16:136",
                    "nodeType": "YulBlock",
                    "src": "27471:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27480:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27480:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27483:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27483:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27473:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27473:6:136"
                          },
                          "nativeSrc": "27473:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27473:12:136"
                        },
                        "nativeSrc": "27473:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27473:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "27441:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "27441:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27451:18:136",
                        "nodeType": "YulLiteral",
                        "src": "27451:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "27438:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "27438:2:136"
                    },
                    "nativeSrc": "27438:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27438:32:136"
                  },
                  "nativeSrc": "27435:52:136",
                  "nodeType": "YulIf",
                  "src": "27435:52:136"
                },
                {
                  "nativeSrc": "27496:83:136",
                  "nodeType": "YulAssignment",
                  "src": "27496:83:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27549:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27549:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "27560:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "27560:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27545:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27545:3:136"
                        },
                        "nativeSrc": "27545:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27545:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "27571:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "27571:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_dyn_fromMemory",
                      "nativeSrc": "27506:38:136",
                      "nodeType": "YulIdentifier",
                      "src": "27506:38:136"
                    },
                    "nativeSrc": "27506:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27506:73:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "27496:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27496:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "27588:41:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27588:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27614:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27614:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27625:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27625:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27610:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27610:3:136"
                        },
                        "nativeSrc": "27610:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27610:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27604:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27604:5:136"
                    },
                    "nativeSrc": "27604:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27604:25:136"
                  },
                  "variables": [
                    {
                      "name": "offset_2",
                      "nativeSrc": "27592:8:136",
                      "nodeType": "YulTypedName",
                      "src": "27592:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27674:16:136",
                    "nodeType": "YulBlock",
                    "src": "27674:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27683:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27683:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27686:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27686:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27676:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27676:6:136"
                          },
                          "nativeSrc": "27676:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27676:12:136"
                        },
                        "nativeSrc": "27676:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27676:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_2",
                        "nativeSrc": "27644:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "27644:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27654:18:136",
                        "nodeType": "YulLiteral",
                        "src": "27654:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "27641:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "27641:2:136"
                    },
                    "nativeSrc": "27641:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27641:32:136"
                  },
                  "nativeSrc": "27638:52:136",
                  "nodeType": "YulIf",
                  "src": "27638:52:136"
                },
                {
                  "nativeSrc": "27699:84:136",
                  "nodeType": "YulAssignment",
                  "src": "27699:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27753:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27753:9:136"
                          },
                          {
                            "name": "offset_2",
                            "nativeSrc": "27764:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "27764:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27749:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27749:3:136"
                        },
                        "nativeSrc": "27749:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27749:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "27775:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "27775:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_bytes32_dyn_fromMemory",
                      "nativeSrc": "27709:39:136",
                      "nodeType": "YulIdentifier",
                      "src": "27709:39:136"
                    },
                    "nativeSrc": "27709:74:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27709:74:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "27699:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27699:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_bytes4_$dyn_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "26266:1523:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26415:9:136",
                "nodeType": "YulTypedName",
                "src": "26415:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "26426:7:136",
                "nodeType": "YulTypedName",
                "src": "26426:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "26438:6:136",
                "nodeType": "YulTypedName",
                "src": "26438:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "26446:6:136",
                "nodeType": "YulTypedName",
                "src": "26446:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "26454:6:136",
                "nodeType": "YulTypedName",
                "src": "26454:6:136",
                "type": ""
              }
            ],
            "src": "26266:1523:136"
          },
          {
            "body": {
              "nativeSrc": "27894:250:136",
              "nodeType": "YulBlock",
              "src": "27894:250:136",
              "statements": [
                {
                  "nativeSrc": "27904:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27904:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "array",
                        "nativeSrc": "27927:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "27927:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "27914:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "27914:12:136"
                    },
                    "nativeSrc": "27914:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27914:19:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "27908:2:136",
                      "nodeType": "YulTypedName",
                      "src": "27908:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "27942:42:136",
                  "nodeType": "YulAssignment",
                  "src": "27942:42:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "27955:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "27955:2:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "27963:3:136",
                            "nodeType": "YulLiteral",
                            "src": "27963:3:136",
                            "type": "",
                            "value": "208"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27968:14:136",
                            "nodeType": "YulLiteral",
                            "src": "27968:14:136",
                            "type": "",
                            "value": "0xffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "27959:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27959:3:136"
                        },
                        "nativeSrc": "27959:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27959:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "27951:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27951:3:136"
                    },
                    "nativeSrc": "27951:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27951:33:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "27942:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27942:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28015:123:136",
                    "nodeType": "YulBlock",
                    "src": "28015:123:136",
                    "statements": [
                      {
                        "nativeSrc": "28029:99:136",
                        "nodeType": "YulAssignment",
                        "src": "28029:99:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "28046:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28046:2:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "28058:1:136",
                                          "nodeType": "YulLiteral",
                                          "src": "28058:1:136",
                                          "type": "",
                                          "value": "3"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "kind": "number",
                                              "nativeSrc": "28065:1:136",
                                              "nodeType": "YulLiteral",
                                              "src": "28065:1:136",
                                              "type": "",
                                              "value": "6"
                                            },
                                            {
                                              "name": "len",
                                              "nativeSrc": "28068:3:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "28068:3:136"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "sub",
                                            "nativeSrc": "28061:3:136",
                                            "nodeType": "YulIdentifier",
                                            "src": "28061:3:136"
                                          },
                                          "nativeSrc": "28061:11:136",
                                          "nodeType": "YulFunctionCall",
                                          "src": "28061:11:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "28054:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "28054:3:136"
                                      },
                                      "nativeSrc": "28054:19:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "28054:19:136"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "28079:3:136",
                                          "nodeType": "YulLiteral",
                                          "src": "28079:3:136",
                                          "type": "",
                                          "value": "208"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "28084:14:136",
                                          "nodeType": "YulLiteral",
                                          "src": "28084:14:136",
                                          "type": "",
                                          "value": "0xffffffffffff"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "28075:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "28075:3:136"
                                      },
                                      "nativeSrc": "28075:24:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "28075:24:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "28050:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "28050:3:136"
                                  },
                                  "nativeSrc": "28050:50:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "28050:50:136"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "28042:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "28042:3:136"
                              },
                              "nativeSrc": "28042:59:136",
                              "nodeType": "YulFunctionCall",
                              "src": "28042:59:136"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "28107:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "28107:3:136",
                                  "type": "",
                                  "value": "208"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "28112:14:136",
                                  "nodeType": "YulLiteral",
                                  "src": "28112:14:136",
                                  "type": "",
                                  "value": "0xffffffffffff"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "28103:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "28103:3:136"
                              },
                              "nativeSrc": "28103:24:136",
                              "nodeType": "YulFunctionCall",
                              "src": "28103:24:136"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "28038:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28038:3:136"
                          },
                          "nativeSrc": "28038:90:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28038:90:136"
                        },
                        "variableNames": [
                          {
                            "name": "value",
                            "nativeSrc": "28029:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "28029:5:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "27999:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "27999:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28004:1:136",
                        "nodeType": "YulLiteral",
                        "src": "28004:1:136",
                        "type": "",
                        "value": "6"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "27996:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "27996:2:136"
                    },
                    "nativeSrc": "27996:10:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27996:10:136"
                  },
                  "nativeSrc": "27993:145:136",
                  "nodeType": "YulIf",
                  "src": "27993:145:136"
                }
              ]
            },
            "name": "convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes6",
            "nativeSrc": "27794:350:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "27869:5:136",
                "nodeType": "YulTypedName",
                "src": "27869:5:136",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "27876:3:136",
                "nodeType": "YulTypedName",
                "src": "27876:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "27884:5:136",
                "nodeType": "YulTypedName",
                "src": "27884:5:136",
                "type": ""
              }
            ],
            "src": "27794:350:136"
          },
          {
            "body": {
              "nativeSrc": "28216:200:136",
              "nodeType": "YulBlock",
              "src": "28216:200:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "28233:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "28233:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28238:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "28238:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28226:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28226:6:136"
                    },
                    "nativeSrc": "28226:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28226:19:136"
                  },
                  "nativeSrc": "28226:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28226:19:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "28271:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28271:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28276:4:136",
                            "nodeType": "YulLiteral",
                            "src": "28276:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28267:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28267:3:136"
                        },
                        "nativeSrc": "28267:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28267:14:136"
                      },
                      {
                        "name": "start",
                        "nativeSrc": "28283:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "28283:5:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28290:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "28290:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "28254:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "28254:12:136"
                    },
                    "nativeSrc": "28254:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28254:43:136"
                  },
                  "nativeSrc": "28254:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28254:43:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "28321:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "28321:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "28326:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "28326:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28317:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28317:3:136"
                            },
                            "nativeSrc": "28317:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28317:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28335:4:136",
                            "nodeType": "YulLiteral",
                            "src": "28335:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28313:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28313:3:136"
                        },
                        "nativeSrc": "28313:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28313:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28342:1:136",
                        "nodeType": "YulLiteral",
                        "src": "28342:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28306:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28306:6:136"
                    },
                    "nativeSrc": "28306:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28306:38:136"
                  },
                  "nativeSrc": "28306:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28306:38:136"
                },
                {
                  "nativeSrc": "28353:57:136",
                  "nodeType": "YulAssignment",
                  "src": "28353:57:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "28368:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28368:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "28381:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "28381:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28389:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "28389:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "28377:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28377:3:136"
                                },
                                "nativeSrc": "28377:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "28377:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28398:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "28398:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "28394:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28394:3:136"
                                },
                                "nativeSrc": "28394:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "28394:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "28373:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28373:3:136"
                            },
                            "nativeSrc": "28373:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28373:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28364:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28364:3:136"
                        },
                        "nativeSrc": "28364:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28364:39:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28405:4:136",
                        "nodeType": "YulLiteral",
                        "src": "28405:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28360:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28360:3:136"
                    },
                    "nativeSrc": "28360:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28360:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "28353:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28353:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string_calldata",
            "nativeSrc": "28149:267:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "start",
                "nativeSrc": "28185:5:136",
                "nodeType": "YulTypedName",
                "src": "28185:5:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "28192:6:136",
                "nodeType": "YulTypedName",
                "src": "28192:6:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "28200:3:136",
                "nodeType": "YulTypedName",
                "src": "28200:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "28208:3:136",
                "nodeType": "YulTypedName",
                "src": "28208:3:136",
                "type": ""
              }
            ],
            "src": "28149:267:136"
          },
          {
            "body": {
              "nativeSrc": "28498:424:136",
              "nodeType": "YulBlock",
              "src": "28498:424:136",
              "statements": [
                {
                  "nativeSrc": "28508:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28508:43:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr",
                        "nativeSrc": "28547:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "28547:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "28534:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "28534:12:136"
                    },
                    "nativeSrc": "28534:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28534:17:136"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "28512:18:136",
                      "nodeType": "YulTypedName",
                      "src": "28512:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28640:16:136",
                    "nodeType": "YulBlock",
                    "src": "28640:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28649:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28649:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28652:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28652:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28642:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28642:6:136"
                          },
                          "nativeSrc": "28642:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28642:12:136"
                        },
                        "nativeSrc": "28642:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28642:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "28574:18:136",
                            "nodeType": "YulIdentifier",
                            "src": "28574:18:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "28602:12:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "28602:12:136"
                                    },
                                    "nativeSrc": "28602:14:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "28602:14:136"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "28618:8:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "28618:8:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "28598:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28598:3:136"
                                },
                                "nativeSrc": "28598:29:136",
                                "nodeType": "YulFunctionCall",
                                "src": "28598:29:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28633:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "28633:2:136",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "28629:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28629:3:136"
                                },
                                "nativeSrc": "28629:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "28629:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28594:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28594:3:136"
                            },
                            "nativeSrc": "28594:43:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28594:43:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "28570:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28570:3:136"
                        },
                        "nativeSrc": "28570:68:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28570:68:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "28563:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28563:6:136"
                    },
                    "nativeSrc": "28563:76:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28563:76:136"
                  },
                  "nativeSrc": "28560:96:136",
                  "nodeType": "YulIf",
                  "src": "28560:96:136"
                },
                {
                  "nativeSrc": "28665:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28665:48:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "28684:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "28684:18:136"
                      },
                      {
                        "name": "base_ref",
                        "nativeSrc": "28704:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "28704:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28680:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28680:3:136"
                    },
                    "nativeSrc": "28680:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28680:33:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "28669:7:136",
                      "nodeType": "YulTypedName",
                      "src": "28669:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28722:31:136",
                  "nodeType": "YulAssignment",
                  "src": "28722:31:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "28745:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "28745:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "28732:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "28732:12:136"
                    },
                    "nativeSrc": "28732:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28732:21:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "28722:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28722:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "28762:27:136",
                  "nodeType": "YulAssignment",
                  "src": "28762:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "28775:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "28775:7:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28784:4:136",
                        "nodeType": "YulLiteral",
                        "src": "28784:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28771:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28771:3:136"
                    },
                    "nativeSrc": "28771:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28771:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "28762:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28762:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28832:16:136",
                    "nodeType": "YulBlock",
                    "src": "28832:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28841:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28841:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28844:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28844:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28834:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28834:6:136"
                          },
                          "nativeSrc": "28834:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28834:12:136"
                        },
                        "nativeSrc": "28834:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28834:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "28804:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "28804:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28812:18:136",
                        "nodeType": "YulLiteral",
                        "src": "28812:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28801:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28801:2:136"
                    },
                    "nativeSrc": "28801:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28801:30:136"
                  },
                  "nativeSrc": "28798:50:136",
                  "nodeType": "YulIf",
                  "src": "28798:50:136"
                },
                {
                  "body": {
                    "nativeSrc": "28900:16:136",
                    "nodeType": "YulBlock",
                    "src": "28900:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28909:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28909:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28912:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28912:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28902:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28902:6:136"
                          },
                          "nativeSrc": "28902:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28902:12:136"
                        },
                        "nativeSrc": "28902:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28902:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "28864:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "28864:5:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "28875:12:136",
                              "nodeType": "YulIdentifier",
                              "src": "28875:12:136"
                            },
                            "nativeSrc": "28875:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28875:14:136"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "28891:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28891:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28871:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28871:3:136"
                        },
                        "nativeSrc": "28871:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28871:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "28860:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28860:3:136"
                    },
                    "nativeSrc": "28860:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28860:39:136"
                  },
                  "nativeSrc": "28857:59:136",
                  "nodeType": "YulIf",
                  "src": "28857:59:136"
                }
              ]
            },
            "name": "calldata_access_string_calldata",
            "nativeSrc": "28421:501:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "28462:8:136",
                "nodeType": "YulTypedName",
                "src": "28462:8:136",
                "type": ""
              },
              {
                "name": "ptr",
                "nativeSrc": "28472:3:136",
                "nodeType": "YulTypedName",
                "src": "28472:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "28480:5:136",
                "nodeType": "YulTypedName",
                "src": "28480:5:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "28487:6:136",
                "nodeType": "YulTypedName",
                "src": "28487:6:136",
                "type": ""
              }
            ],
            "src": "28421:501:136"
          },
          {
            "body": {
              "nativeSrc": "29204:849:136",
              "nodeType": "YulBlock",
              "src": "29204:849:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29221:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "29221:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29232:2:136",
                        "nodeType": "YulLiteral",
                        "src": "29232:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29214:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29214:6:136"
                    },
                    "nativeSrc": "29214:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29214:21:136"
                  },
                  "nativeSrc": "29214:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29214:21:136"
                },
                {
                  "nativeSrc": "29244:76:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29244:76:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "29285:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29285:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "29293:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29293:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29305:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29305:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29316:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29316:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29301:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29301:3:136"
                        },
                        "nativeSrc": "29301:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29301:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "29258:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "29258:26:136"
                    },
                    "nativeSrc": "29258:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29258:62:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "29248:6:136",
                      "nodeType": "YulTypedName",
                      "src": "29248:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29340:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29340:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29351:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29351:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29336:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29336:3:136"
                        },
                        "nativeSrc": "29336:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29336:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "29360:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29360:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "29376:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "29376:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "29381:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "29381:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "29372:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "29372:3:136"
                                },
                                "nativeSrc": "29372:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "29372:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "29385:1:136",
                                "nodeType": "YulLiteral",
                                "src": "29385:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "29368:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29368:3:136"
                            },
                            "nativeSrc": "29368:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "29368:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "29356:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29356:3:136"
                        },
                        "nativeSrc": "29356:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29356:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29329:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29329:6:136"
                    },
                    "nativeSrc": "29329:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29329:60:136"
                  },
                  "nativeSrc": "29329:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29329:60:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29409:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29409:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29420:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29420:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29405:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29405:3:136"
                        },
                        "nativeSrc": "29405:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29405:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "29429:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29429:6:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "29437:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29437:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "29425:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29425:3:136"
                        },
                        "nativeSrc": "29425:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29425:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29398:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29398:6:136"
                    },
                    "nativeSrc": "29398:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29398:50:136"
                  },
                  "nativeSrc": "29398:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29398:50:136"
                },
                {
                  "nativeSrc": "29457:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29457:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "29468:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "29468:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "29461:3:136",
                      "nodeType": "YulTypedName",
                      "src": "29461:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "29490:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29490:6:136"
                      },
                      {
                        "name": "value4",
                        "nativeSrc": "29498:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29498:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29483:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29483:6:136"
                    },
                    "nativeSrc": "29483:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29483:22:136"
                  },
                  "nativeSrc": "29483:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29483:22:136"
                },
                {
                  "nativeSrc": "29514:22:136",
                  "nodeType": "YulAssignment",
                  "src": "29514:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "29525:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29525:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29533:2:136",
                        "nodeType": "YulLiteral",
                        "src": "29533:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29521:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "29521:3:136"
                    },
                    "nativeSrc": "29521:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29521:15:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "29514:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "29514:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "29545:50:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29545:50:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "29567:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29567:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29579:1:136",
                                "nodeType": "YulLiteral",
                                "src": "29579:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "value4",
                                "nativeSrc": "29582:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "29582:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "29575:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29575:3:136"
                            },
                            "nativeSrc": "29575:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "29575:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29563:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29563:3:136"
                        },
                        "nativeSrc": "29563:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29563:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29592:2:136",
                        "nodeType": "YulLiteral",
                        "src": "29592:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29559:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "29559:3:136"
                    },
                    "nativeSrc": "29559:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29559:36:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "29549:6:136",
                      "nodeType": "YulTypedName",
                      "src": "29549:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29604:20:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29604:20:136",
                  "value": {
                    "name": "value3",
                    "nativeSrc": "29618:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "29618:6:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "29608:6:136",
                      "nodeType": "YulTypedName",
                      "src": "29608:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29633:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29633:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "29642:1:136",
                    "nodeType": "YulLiteral",
                    "src": "29642:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "29637:1:136",
                      "nodeType": "YulTypedName",
                      "src": "29637:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29701:323:136",
                    "nodeType": "YulBlock",
                    "src": "29701:323:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "29722:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29722:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "29735:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "29735:6:136"
                                    },
                                    {
                                      "name": "tail_1",
                                      "nativeSrc": "29743:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "29743:6:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "29731:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "29731:3:136"
                                  },
                                  "nativeSrc": "29731:19:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29731:19:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "29756:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "29756:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "29752:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "29752:3:136"
                                  },
                                  "nativeSrc": "29752:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29752:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "29727:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "29727:3:136"
                              },
                              "nativeSrc": "29727:33:136",
                              "nodeType": "YulFunctionCall",
                              "src": "29727:33:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "29715:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29715:6:136"
                          },
                          "nativeSrc": "29715:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29715:46:136"
                        },
                        "nativeSrc": "29715:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "29715:46:136"
                      },
                      {
                        "nativeSrc": "29774:83:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "29774:83:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value3",
                              "nativeSrc": "29842:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "29842:6:136"
                            },
                            {
                              "name": "srcPtr",
                              "nativeSrc": "29850:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "29850:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "calldata_access_string_calldata",
                            "nativeSrc": "29810:31:136",
                            "nodeType": "YulIdentifier",
                            "src": "29810:31:136"
                          },
                          "nativeSrc": "29810:47:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29810:47:136"
                        },
                        "variables": [
                          {
                            "name": "elementValue0",
                            "nativeSrc": "29778:13:136",
                            "nodeType": "YulTypedName",
                            "src": "29778:13:136",
                            "type": ""
                          },
                          {
                            "name": "elementValue1",
                            "nativeSrc": "29793:13:136",
                            "nodeType": "YulTypedName",
                            "src": "29793:13:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "29870:74:136",
                        "nodeType": "YulAssignment",
                        "src": "29870:74:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "elementValue0",
                              "nativeSrc": "29907:13:136",
                              "nodeType": "YulIdentifier",
                              "src": "29907:13:136"
                            },
                            {
                              "name": "elementValue1",
                              "nativeSrc": "29922:13:136",
                              "nodeType": "YulIdentifier",
                              "src": "29922:13:136"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "29937:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "29937:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_calldata",
                            "nativeSrc": "29880:26:136",
                            "nodeType": "YulIdentifier",
                            "src": "29880:26:136"
                          },
                          "nativeSrc": "29880:64:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29880:64:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "29870:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29870:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "29957:25:136",
                        "nodeType": "YulAssignment",
                        "src": "29957:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "29971:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "29971:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29979:2:136",
                              "nodeType": "YulLiteral",
                              "src": "29979:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29967:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "29967:3:136"
                          },
                          "nativeSrc": "29967:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29967:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "29957:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29957:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "29995:19:136",
                        "nodeType": "YulAssignment",
                        "src": "29995:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "30006:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30006:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30011:2:136",
                              "nodeType": "YulLiteral",
                              "src": "30011:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "30002:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30002:3:136"
                          },
                          "nativeSrc": "30002:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30002:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "29995:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "29995:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "29663:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "29663:1:136"
                      },
                      {
                        "name": "value4",
                        "nativeSrc": "29666:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29666:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "29660:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "29660:2:136"
                    },
                    "nativeSrc": "29660:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29660:13:136"
                  },
                  "nativeSrc": "29652:372:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "29674:18:136",
                    "nodeType": "YulBlock",
                    "src": "29674:18:136",
                    "statements": [
                      {
                        "nativeSrc": "29676:14:136",
                        "nodeType": "YulAssignment",
                        "src": "29676:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "29685:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "29685:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29688:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29688:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29681:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "29681:3:136"
                          },
                          "nativeSrc": "29681:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29681:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "29676:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "29676:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "29656:3:136",
                    "nodeType": "YulBlock",
                    "src": "29656:3:136",
                    "statements": []
                  },
                  "src": "29652:372:136"
                },
                {
                  "nativeSrc": "30033:14:136",
                  "nodeType": "YulAssignment",
                  "src": "30033:14:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "30041:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "30041:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30033:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "30033:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_address_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_string_memory_ptr_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "28927:1126:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29141:9:136",
                "nodeType": "YulTypedName",
                "src": "29141:9:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "29152:6:136",
                "nodeType": "YulTypedName",
                "src": "29152:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "29160:6:136",
                "nodeType": "YulTypedName",
                "src": "29160:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "29168:6:136",
                "nodeType": "YulTypedName",
                "src": "29168:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "29176:6:136",
                "nodeType": "YulTypedName",
                "src": "29176:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "29184:6:136",
                "nodeType": "YulTypedName",
                "src": "29184:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "29195:4:136",
                "nodeType": "YulTypedName",
                "src": "29195:4:136",
                "type": ""
              }
            ],
            "src": "28927:1126:136"
          },
          {
            "body": {
              "nativeSrc": "30101:136:136",
              "nodeType": "YulBlock",
              "src": "30101:136:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30146:85:136",
                    "nodeType": "YulBlock",
                    "src": "30146:85:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30175:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30175:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30178:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30178:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30181:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30181:1:136",
                              "type": "",
                              "value": "4"
                            }
                          ],
                          "functionName": {
                            "name": "returndatacopy",
                            "nativeSrc": "30160:14:136",
                            "nodeType": "YulIdentifier",
                            "src": "30160:14:136"
                          },
                          "nativeSrc": "30160:23:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30160:23:136"
                        },
                        "nativeSrc": "30160:23:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "30160:23:136"
                      },
                      {
                        "nativeSrc": "30196:25:136",
                        "nodeType": "YulAssignment",
                        "src": "30196:25:136",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30207:3:136",
                              "nodeType": "YulLiteral",
                              "src": "30207:3:136",
                              "type": "",
                              "value": "224"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "30218:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "30218:1:136",
                                  "type": "",
                                  "value": "0"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "30212:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "30212:5:136"
                              },
                              "nativeSrc": "30212:8:136",
                              "nodeType": "YulFunctionCall",
                              "src": "30212:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "30203:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30203:3:136"
                          },
                          "nativeSrc": "30203:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30203:18:136"
                        },
                        "variableNames": [
                          {
                            "name": "sig",
                            "nativeSrc": "30196:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30196:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "30117:14:136",
                          "nodeType": "YulIdentifier",
                          "src": "30117:14:136"
                        },
                        "nativeSrc": "30117:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30117:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30135:1:136",
                        "nodeType": "YulLiteral",
                        "src": "30135:1:136",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30114:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "30114:2:136"
                    },
                    "nativeSrc": "30114:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30114:23:136"
                  },
                  "nativeSrc": "30111:120:136",
                  "nodeType": "YulIf",
                  "src": "30111:120:136"
                }
              ]
            },
            "name": "return_data_selector",
            "nativeSrc": "30058:179:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "sig",
                "nativeSrc": "30093:3:136",
                "nodeType": "YulTypedName",
                "src": "30093:3:136",
                "type": ""
              }
            ],
            "src": "30058:179:136"
          },
          {
            "body": {
              "nativeSrc": "30289:581:136",
              "nodeType": "YulBlock",
              "src": "30289:581:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30329:9:136",
                    "nodeType": "YulBlock",
                    "src": "30329:9:136",
                    "statements": [
                      {
                        "nativeSrc": "30331:5:136",
                        "nodeType": "YulLeave",
                        "src": "30331:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "30305:14:136",
                          "nodeType": "YulIdentifier",
                          "src": "30305:14:136"
                        },
                        "nativeSrc": "30305:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30305:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30323:4:136",
                        "nodeType": "YulLiteral",
                        "src": "30323:4:136",
                        "type": "",
                        "value": "0x44"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "30302:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "30302:2:136"
                    },
                    "nativeSrc": "30302:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30302:26:136"
                  },
                  "nativeSrc": "30299:39:136",
                  "nodeType": "YulIf",
                  "src": "30299:39:136"
                },
                {
                  "nativeSrc": "30347:21:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30347:21:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "30365:2:136",
                        "nodeType": "YulLiteral",
                        "src": "30365:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30359:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "30359:5:136"
                    },
                    "nativeSrc": "30359:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30359:9:136"
                  },
                  "variables": [
                    {
                      "name": "data",
                      "nativeSrc": "30351:4:136",
                      "nodeType": "YulTypedName",
                      "src": "30351:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "30392:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "30392:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30398:1:136",
                        "nodeType": "YulLiteral",
                        "src": "30398:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "30405:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "30405:14:136"
                            },
                            "nativeSrc": "30405:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30405:16:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "30427:1:136",
                                "nodeType": "YulLiteral",
                                "src": "30427:1:136",
                                "type": "",
                                "value": "3"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "30423:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30423:3:136"
                            },
                            "nativeSrc": "30423:6:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30423:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30401:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30401:3:136"
                        },
                        "nativeSrc": "30401:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30401:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "returndatacopy",
                      "nativeSrc": "30377:14:136",
                      "nodeType": "YulIdentifier",
                      "src": "30377:14:136"
                    },
                    "nativeSrc": "30377:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30377:54:136"
                  },
                  "nativeSrc": "30377:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30377:54:136"
                },
                {
                  "nativeSrc": "30440:25:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30440:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "30460:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "30460:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30454:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "30454:5:136"
                    },
                    "nativeSrc": "30454:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30454:11:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "30444:6:136",
                      "nodeType": "YulTypedName",
                      "src": "30444:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30553:9:136",
                    "nodeType": "YulBlock",
                    "src": "30553:9:136",
                    "statements": [
                      {
                        "nativeSrc": "30555:5:136",
                        "nodeType": "YulLeave",
                        "src": "30555:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "30483:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30483:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30491:18:136",
                            "nodeType": "YulLiteral",
                            "src": "30491:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "30480:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "30480:2:136"
                        },
                        "nativeSrc": "30480:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30480:30:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "30519:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "30519:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30527:4:136",
                                "nodeType": "YulLiteral",
                                "src": "30527:4:136",
                                "type": "",
                                "value": "0x24"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30515:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30515:3:136"
                            },
                            "nativeSrc": "30515:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30515:17:136"
                          },
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "30534:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "30534:14:136"
                            },
                            "nativeSrc": "30534:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30534:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "30512:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "30512:2:136"
                        },
                        "nativeSrc": "30512:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30512:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "30477:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "30477:2:136"
                    },
                    "nativeSrc": "30477:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30477:75:136"
                  },
                  "nativeSrc": "30474:88:136",
                  "nodeType": "YulIf",
                  "src": "30474:88:136"
                },
                {
                  "nativeSrc": "30571:28:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30571:28:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "30586:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "30586:4:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "30592:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30592:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30582:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30582:3:136"
                    },
                    "nativeSrc": "30582:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30582:17:136"
                  },
                  "variables": [
                    {
                      "name": "msg",
                      "nativeSrc": "30575:3:136",
                      "nodeType": "YulTypedName",
                      "src": "30575:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30608:24:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30608:24:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "msg",
                        "nativeSrc": "30628:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "30628:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30622:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "30622:5:136"
                    },
                    "nativeSrc": "30622:10:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30622:10:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "30612:6:136",
                      "nodeType": "YulTypedName",
                      "src": "30612:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30675:9:136",
                    "nodeType": "YulBlock",
                    "src": "30675:9:136",
                    "statements": [
                      {
                        "nativeSrc": "30677:5:136",
                        "nodeType": "YulLeave",
                        "src": "30677:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "30647:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30647:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30655:18:136",
                        "nodeType": "YulLiteral",
                        "src": "30655:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30644:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "30644:2:136"
                    },
                    "nativeSrc": "30644:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30644:30:136"
                  },
                  "nativeSrc": "30641:43:136",
                  "nodeType": "YulIf",
                  "src": "30641:43:136"
                },
                {
                  "body": {
                    "nativeSrc": "30770:9:136",
                    "nodeType": "YulBlock",
                    "src": "30770:9:136",
                    "statements": [
                      {
                        "nativeSrc": "30772:5:136",
                        "nodeType": "YulLeave",
                        "src": "30772:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "msg",
                                "nativeSrc": "30707:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "30707:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "30712:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "30712:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30703:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30703:3:136"
                            },
                            "nativeSrc": "30703:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30703:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30721:4:136",
                            "nodeType": "YulLiteral",
                            "src": "30721:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30699:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30699:3:136"
                        },
                        "nativeSrc": "30699:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30699:27:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "data",
                                "nativeSrc": "30736:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "30736:4:136"
                              },
                              {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "30742:14:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "30742:14:136"
                                },
                                "nativeSrc": "30742:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "30742:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30732:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30732:3:136"
                            },
                            "nativeSrc": "30732:27:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30732:27:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "30765:1:136",
                                "nodeType": "YulLiteral",
                                "src": "30765:1:136",
                                "type": "",
                                "value": "3"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "30761:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30761:3:136"
                            },
                            "nativeSrc": "30761:6:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30761:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30728:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30728:3:136"
                        },
                        "nativeSrc": "30728:40:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30728:40:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30696:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "30696:2:136"
                    },
                    "nativeSrc": "30696:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30696:73:136"
                  },
                  "nativeSrc": "30693:86:136",
                  "nodeType": "YulIf",
                  "src": "30693:86:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "30808:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "30808:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "30822:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "30822:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "30830:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "30830:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30818:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30818:3:136"
                            },
                            "nativeSrc": "30818:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30818:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30839:4:136",
                            "nodeType": "YulLiteral",
                            "src": "30839:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30814:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30814:3:136"
                        },
                        "nativeSrc": "30814:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30814:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "30788:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "30788:19:136"
                    },
                    "nativeSrc": "30788:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30788:57:136"
                  },
                  "nativeSrc": "30788:57:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30788:57:136"
                },
                {
                  "nativeSrc": "30854:10:136",
                  "nodeType": "YulAssignment",
                  "src": "30854:10:136",
                  "value": {
                    "name": "msg",
                    "nativeSrc": "30861:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "30861:3:136"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "30854:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30854:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "try_decode_error_message",
            "nativeSrc": "30242:628:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "30281:3:136",
                "nodeType": "YulTypedName",
                "src": "30281:3:136",
                "type": ""
              }
            ],
            "src": "30242:628:136"
          },
          {
            "body": {
              "nativeSrc": "30990:357:136",
              "nodeType": "YulBlock",
              "src": "30990:357:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31036:16:136",
                    "nodeType": "YulBlock",
                    "src": "31036:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31045:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31045:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31048:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31048:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31038:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31038:6:136"
                          },
                          "nativeSrc": "31038:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31038:12:136"
                        },
                        "nativeSrc": "31038:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31038:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31011:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "31011:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31020:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31020:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31007:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31007:3:136"
                        },
                        "nativeSrc": "31007:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31007:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31032:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31032:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31003:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31003:3:136"
                    },
                    "nativeSrc": "31003:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31003:32:136"
                  },
                  "nativeSrc": "31000:52:136",
                  "nodeType": "YulIf",
                  "src": "31000:52:136"
                },
                {
                  "nativeSrc": "31061:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31061:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31080:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "31080:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31074:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "31074:5:136"
                    },
                    "nativeSrc": "31074:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31074:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "31065:5:136",
                      "nodeType": "YulTypedName",
                      "src": "31065:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "31124:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "31124:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "31099:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "31099:24:136"
                    },
                    "nativeSrc": "31099:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31099:31:136"
                  },
                  "nativeSrc": "31099:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31099:31:136"
                },
                {
                  "nativeSrc": "31139:15:136",
                  "nodeType": "YulAssignment",
                  "src": "31139:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "31149:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "31149:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31139:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31139:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "31163:39:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31163:39:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31187:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31187:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31198:2:136",
                            "nodeType": "YulLiteral",
                            "src": "31198:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31183:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31183:3:136"
                        },
                        "nativeSrc": "31183:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31183:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31177:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "31177:5:136"
                    },
                    "nativeSrc": "31177:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31177:25:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "31167:6:136",
                      "nodeType": "YulTypedName",
                      "src": "31167:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31245:16:136",
                    "nodeType": "YulBlock",
                    "src": "31245:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31254:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31254:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31257:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31257:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31247:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31247:6:136"
                          },
                          "nativeSrc": "31247:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31247:12:136"
                        },
                        "nativeSrc": "31247:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31247:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "31217:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31217:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31225:18:136",
                        "nodeType": "YulLiteral",
                        "src": "31225:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31214:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "31214:2:136"
                    },
                    "nativeSrc": "31214:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31214:30:136"
                  },
                  "nativeSrc": "31211:50:136",
                  "nodeType": "YulIf",
                  "src": "31211:50:136"
                },
                {
                  "nativeSrc": "31270:71:136",
                  "nodeType": "YulAssignment",
                  "src": "31270:71:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31313:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31313:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "31324:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31324:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31309:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31309:3:136"
                        },
                        "nativeSrc": "31309:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31309:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "31333:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "31333:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "31280:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "31280:28:136"
                    },
                    "nativeSrc": "31280:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31280:61:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "31270:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31270:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory",
            "nativeSrc": "30875:472:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30948:9:136",
                "nodeType": "YulTypedName",
                "src": "30948:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "30959:7:136",
                "nodeType": "YulTypedName",
                "src": "30959:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "30971:6:136",
                "nodeType": "YulTypedName",
                "src": "30971:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "30979:6:136",
                "nodeType": "YulTypedName",
                "src": "30979:6:136",
                "type": ""
              }
            ],
            "src": "30875:472:136"
          },
          {
            "body": {
              "nativeSrc": "31526:163:136",
              "nodeType": "YulBlock",
              "src": "31526:163:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31543:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "31543:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31554:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31554:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31536:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31536:6:136"
                    },
                    "nativeSrc": "31536:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31536:21:136"
                  },
                  "nativeSrc": "31536:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31536:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31577:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31577:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31588:2:136",
                            "nodeType": "YulLiteral",
                            "src": "31588:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31573:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31573:3:136"
                        },
                        "nativeSrc": "31573:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31573:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31593:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31593:2:136",
                        "type": "",
                        "value": "13"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31566:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31566:6:136"
                    },
                    "nativeSrc": "31566:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31566:30:136"
                  },
                  "nativeSrc": "31566:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31566:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31616:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31616:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31627:2:136",
                            "nodeType": "YulLiteral",
                            "src": "31627:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31612:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31612:3:136"
                        },
                        "nativeSrc": "31612:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31612:18:136"
                      },
                      {
                        "hexValue": "6e6f7420746865206f776e6572",
                        "kind": "string",
                        "nativeSrc": "31632:15:136",
                        "nodeType": "YulLiteral",
                        "src": "31632:15:136",
                        "type": "",
                        "value": "not the owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31605:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31605:6:136"
                    },
                    "nativeSrc": "31605:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31605:43:136"
                  },
                  "nativeSrc": "31605:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31605:43:136"
                },
                {
                  "nativeSrc": "31657:26:136",
                  "nodeType": "YulAssignment",
                  "src": "31657:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31669:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "31669:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31680:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31680:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31665:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31665:3:136"
                    },
                    "nativeSrc": "31665:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31665:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "31657:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "31657:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "31352:337:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31503:9:136",
                "nodeType": "YulTypedName",
                "src": "31503:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "31517:4:136",
                "nodeType": "YulTypedName",
                "src": "31517:4:136",
                "type": ""
              }
            ],
            "src": "31352:337:136"
          },
          {
            "body": {
              "nativeSrc": "31868:178:136",
              "nodeType": "YulBlock",
              "src": "31868:178:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31885:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "31885:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31896:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31896:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31878:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31878:6:136"
                    },
                    "nativeSrc": "31878:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31878:21:136"
                  },
                  "nativeSrc": "31878:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31878:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31919:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31919:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31930:2:136",
                            "nodeType": "YulLiteral",
                            "src": "31930:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31915:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31915:3:136"
                        },
                        "nativeSrc": "31915:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31915:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31935:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31935:2:136",
                        "type": "",
                        "value": "28"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31908:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31908:6:136"
                    },
                    "nativeSrc": "31908:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31908:30:136"
                  },
                  "nativeSrc": "31908:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31908:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31958:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31958:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31969:2:136",
                            "nodeType": "YulLiteral",
                            "src": "31969:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31954:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31954:3:136"
                        },
                        "nativeSrc": "31954:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31954:18:136"
                      },
                      {
                        "hexValue": "616c726561647920696e697469616c697a656420636f646568617368",
                        "kind": "string",
                        "nativeSrc": "31974:30:136",
                        "nodeType": "YulLiteral",
                        "src": "31974:30:136",
                        "type": "",
                        "value": "already initialized codehash"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31947:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31947:6:136"
                    },
                    "nativeSrc": "31947:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31947:58:136"
                  },
                  "nativeSrc": "31947:58:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31947:58:136"
                },
                {
                  "nativeSrc": "32014:26:136",
                  "nodeType": "YulAssignment",
                  "src": "32014:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32026:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "32026:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32037:2:136",
                        "nodeType": "YulLiteral",
                        "src": "32037:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "32022:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32022:3:136"
                    },
                    "nativeSrc": "32022:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32022:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "32014:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "32014:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_2fec99da940de01442f04e8e6acba4c96a17df465177343b4e755fdcd1280828__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "31694:352:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31845:9:136",
                "nodeType": "YulTypedName",
                "src": "31845:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "31859:4:136",
                "nodeType": "YulTypedName",
                "src": "31859:4:136",
                "type": ""
              }
            ],
            "src": "31694:352:136"
          },
          {
            "body": {
              "nativeSrc": "32094:71:136",
              "nodeType": "YulBlock",
              "src": "32094:71:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32143:16:136",
                    "nodeType": "YulBlock",
                    "src": "32143:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32152:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32152:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32155:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32155:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32145:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32145:6:136"
                          },
                          "nativeSrc": "32145:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32145:12:136"
                        },
                        "nativeSrc": "32145:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32145:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "32117:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "32117:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "32128:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "32128:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "32135:4:136",
                                "nodeType": "YulLiteral",
                                "src": "32135:4:136",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "32124:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "32124:3:136"
                            },
                            "nativeSrc": "32124:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "32124:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "32114:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "32114:2:136"
                        },
                        "nativeSrc": "32114:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32114:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "32107:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32107:6:136"
                    },
                    "nativeSrc": "32107:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32107:35:136"
                  },
                  "nativeSrc": "32104:55:136",
                  "nodeType": "YulIf",
                  "src": "32104:55:136"
                }
              ]
            },
            "name": "validator_revert_uint8",
            "nativeSrc": "32051:114:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "32083:5:136",
                "nodeType": "YulTypedName",
                "src": "32083:5:136",
                "type": ""
              }
            ],
            "src": "32051:114:136"
          },
          {
            "body": {
              "nativeSrc": "32228:76:136",
              "nodeType": "YulBlock",
              "src": "32228:76:136",
              "statements": [
                {
                  "nativeSrc": "32238:22:136",
                  "nodeType": "YulAssignment",
                  "src": "32238:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "32253:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32253:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32247:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "32247:5:136"
                    },
                    "nativeSrc": "32247:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32247:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "32238:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "32238:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "32292:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "32292:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "32269:22:136",
                      "nodeType": "YulIdentifier",
                      "src": "32269:22:136"
                    },
                    "nativeSrc": "32269:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32269:29:136"
                  },
                  "nativeSrc": "32269:29:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32269:29:136"
                }
              ]
            },
            "name": "abi_decode_uint8_fromMemory",
            "nativeSrc": "32170:134:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "32207:6:136",
                "nodeType": "YulTypedName",
                "src": "32207:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "32218:5:136",
                "nodeType": "YulTypedName",
                "src": "32218:5:136",
                "type": ""
              }
            ],
            "src": "32170:134:136"
          },
          {
            "body": {
              "nativeSrc": "32420:656:136",
              "nodeType": "YulBlock",
              "src": "32420:656:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32466:16:136",
                    "nodeType": "YulBlock",
                    "src": "32466:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32475:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32475:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32478:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32478:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32468:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32468:6:136"
                          },
                          "nativeSrc": "32468:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32468:12:136"
                        },
                        "nativeSrc": "32468:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32468:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "32441:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "32441:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "32450:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32450:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "32437:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32437:3:136"
                        },
                        "nativeSrc": "32437:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32437:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32462:2:136",
                        "nodeType": "YulLiteral",
                        "src": "32462:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "32433:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32433:3:136"
                    },
                    "nativeSrc": "32433:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32433:32:136"
                  },
                  "nativeSrc": "32430:52:136",
                  "nodeType": "YulIf",
                  "src": "32430:52:136"
                },
                {
                  "nativeSrc": "32491:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32491:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32511:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "32511:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32505:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "32505:5:136"
                    },
                    "nativeSrc": "32505:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32505:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "32495:6:136",
                      "nodeType": "YulTypedName",
                      "src": "32495:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "32564:16:136",
                    "nodeType": "YulBlock",
                    "src": "32564:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32573:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32573:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32576:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32576:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32566:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32566:6:136"
                          },
                          "nativeSrc": "32566:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32566:12:136"
                        },
                        "nativeSrc": "32566:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32566:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "32536:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32536:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32544:18:136",
                        "nodeType": "YulLiteral",
                        "src": "32544:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32533:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "32533:2:136"
                    },
                    "nativeSrc": "32533:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32533:30:136"
                  },
                  "nativeSrc": "32530:50:136",
                  "nodeType": "YulIf",
                  "src": "32530:50:136"
                },
                {
                  "nativeSrc": "32589:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32589:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32603:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "32603:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "32614:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32614:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "32599:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32599:3:136"
                    },
                    "nativeSrc": "32599:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32599:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "32593:2:136",
                      "nodeType": "YulTypedName",
                      "src": "32593:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "32661:16:136",
                    "nodeType": "YulBlock",
                    "src": "32661:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32670:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32670:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32673:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32673:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32663:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32663:6:136"
                          },
                          "nativeSrc": "32663:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32663:12:136"
                        },
                        "nativeSrc": "32663:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32663:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "32641:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "32641:7:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "32650:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "32650:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "32637:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32637:3:136"
                        },
                        "nativeSrc": "32637:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32637:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32655:4:136",
                        "nodeType": "YulLiteral",
                        "src": "32655:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "32633:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32633:3:136"
                    },
                    "nativeSrc": "32633:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32633:27:136"
                  },
                  "nativeSrc": "32630:47:136",
                  "nodeType": "YulIf",
                  "src": "32630:47:136"
                },
                {
                  "nativeSrc": "32686:25:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32686:25:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "32706:4:136",
                        "nodeType": "YulLiteral",
                        "src": "32706:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32700:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "32700:5:136"
                    },
                    "nativeSrc": "32700:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32700:11:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "32690:6:136",
                      "nodeType": "YulTypedName",
                      "src": "32690:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "32745:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32745:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_7567",
                      "nativeSrc": "32720:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "32720:24:136"
                    },
                    "nativeSrc": "32720:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32720:32:136"
                  },
                  "nativeSrc": "32720:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32720:32:136"
                },
                {
                  "nativeSrc": "32761:22:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32761:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "32780:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "32780:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32774:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "32774:5:136"
                    },
                    "nativeSrc": "32774:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32774:9:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "32765:5:136",
                      "nodeType": "YulTypedName",
                      "src": "32765:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "32815:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "32815:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "32792:22:136",
                      "nodeType": "YulIdentifier",
                      "src": "32792:22:136"
                    },
                    "nativeSrc": "32792:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32792:29:136"
                  },
                  "nativeSrc": "32792:29:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32792:29:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "32837:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32837:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "32845:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "32845:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32830:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32830:6:136"
                    },
                    "nativeSrc": "32830:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32830:21:136"
                  },
                  "nativeSrc": "32830:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32830:21:136"
                },
                {
                  "nativeSrc": "32860:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32860:34:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "32886:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "32886:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32890:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32890:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32882:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32882:3:136"
                        },
                        "nativeSrc": "32882:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32882:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32876:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "32876:5:136"
                    },
                    "nativeSrc": "32876:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32876:18:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "32864:8:136",
                      "nodeType": "YulTypedName",
                      "src": "32864:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "32939:16:136",
                    "nodeType": "YulBlock",
                    "src": "32939:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32948:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32948:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32951:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32951:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32941:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32941:6:136"
                          },
                          "nativeSrc": "32941:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32941:12:136"
                        },
                        "nativeSrc": "32941:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32941:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "32909:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "32909:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32919:18:136",
                        "nodeType": "YulLiteral",
                        "src": "32919:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32906:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "32906:2:136"
                    },
                    "nativeSrc": "32906:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32906:32:136"
                  },
                  "nativeSrc": "32903:52:136",
                  "nodeType": "YulIf",
                  "src": "32903:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "32975:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32975:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32983:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32983:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32971:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32971:3:136"
                        },
                        "nativeSrc": "32971:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32971:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "33021:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "33021:2:136"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "33025:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "33025:8:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "33017:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "33017:3:136"
                            },
                            "nativeSrc": "33017:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "33017:17:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "33036:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "33036:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "32988:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "32988:28:136"
                        },
                        "nativeSrc": "32988:56:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32988:56:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32964:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32964:6:136"
                    },
                    "nativeSrc": "32964:81:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32964:81:136"
                  },
                  "nativeSrc": "32964:81:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32964:81:136"
                },
                {
                  "nativeSrc": "33054:16:136",
                  "nodeType": "YulAssignment",
                  "src": "33054:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "33064:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "33064:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "33054:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33054:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_ResultError_$28705_memory_ptr_fromMemory",
            "nativeSrc": "32309:767:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32386:9:136",
                "nodeType": "YulTypedName",
                "src": "32386:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "32397:7:136",
                "nodeType": "YulTypedName",
                "src": "32397:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "32409:6:136",
                "nodeType": "YulTypedName",
                "src": "32409:6:136",
                "type": ""
              }
            ],
            "src": "32309:767:136"
          },
          {
            "body": {
              "nativeSrc": "33213:76:136",
              "nodeType": "YulBlock",
              "src": "33213:76:136",
              "statements": [
                {
                  "nativeSrc": "33223:26:136",
                  "nodeType": "YulAssignment",
                  "src": "33223:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33235:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33235:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33246:2:136",
                        "nodeType": "YulLiteral",
                        "src": "33246:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33231:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33231:3:136"
                    },
                    "nativeSrc": "33231:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33231:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33223:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "33223:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33265:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33265:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "33276:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33276:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33258:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33258:6:136"
                    },
                    "nativeSrc": "33258:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33258:25:136"
                  },
                  "nativeSrc": "33258:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33258:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_RadonHash_$37153__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "33081:208:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33182:9:136",
                "nodeType": "YulTypedName",
                "src": "33182:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33193:6:136",
                "nodeType": "YulTypedName",
                "src": "33193:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33204:4:136",
                "nodeType": "YulTypedName",
                "src": "33204:4:136",
                "type": ""
              }
            ],
            "src": "33081:208:136"
          },
          {
            "body": {
              "nativeSrc": "33384:246:136",
              "nodeType": "YulBlock",
              "src": "33384:246:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "33430:16:136",
                    "nodeType": "YulBlock",
                    "src": "33430:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "33439:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33439:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "33442:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33442:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "33432:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33432:6:136"
                          },
                          "nativeSrc": "33432:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "33432:12:136"
                        },
                        "nativeSrc": "33432:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "33432:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "33405:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "33405:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "33414:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33414:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "33401:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33401:3:136"
                        },
                        "nativeSrc": "33401:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33401:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33426:2:136",
                        "nodeType": "YulLiteral",
                        "src": "33426:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "33397:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33397:3:136"
                    },
                    "nativeSrc": "33397:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33397:32:136"
                  },
                  "nativeSrc": "33394:52:136",
                  "nodeType": "YulIf",
                  "src": "33394:52:136"
                },
                {
                  "nativeSrc": "33455:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33455:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33475:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33475:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "33469:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "33469:5:136"
                    },
                    "nativeSrc": "33469:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33469:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "33459:6:136",
                      "nodeType": "YulTypedName",
                      "src": "33459:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "33528:16:136",
                    "nodeType": "YulBlock",
                    "src": "33528:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "33537:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33537:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "33540:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33540:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "33530:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33530:6:136"
                          },
                          "nativeSrc": "33530:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "33530:12:136"
                        },
                        "nativeSrc": "33530:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "33530:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "33500:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33500:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33508:18:136",
                        "nodeType": "YulLiteral",
                        "src": "33508:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "33497:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "33497:2:136"
                    },
                    "nativeSrc": "33497:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33497:30:136"
                  },
                  "nativeSrc": "33494:50:136",
                  "nodeType": "YulIf",
                  "src": "33494:50:136"
                },
                {
                  "nativeSrc": "33553:71:136",
                  "nodeType": "YulAssignment",
                  "src": "33553:71:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33596:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33596:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "33607:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33607:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33592:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33592:3:136"
                        },
                        "nativeSrc": "33592:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33592:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "33616:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "33616:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "33563:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "33563:28:136"
                    },
                    "nativeSrc": "33563:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33563:61:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "33553:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33553:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr_fromMemory",
            "nativeSrc": "33294:336:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33350:9:136",
                "nodeType": "YulTypedName",
                "src": "33350:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "33361:7:136",
                "nodeType": "YulTypedName",
                "src": "33361:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "33373:6:136",
                "nodeType": "YulTypedName",
                "src": "33373:6:136",
                "type": ""
              }
            ],
            "src": "33294:336:136"
          },
          {
            "body": {
              "nativeSrc": "33764:101:136",
              "nodeType": "YulBlock",
              "src": "33764:101:136",
              "statements": [
                {
                  "nativeSrc": "33774:26:136",
                  "nodeType": "YulAssignment",
                  "src": "33774:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33786:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33786:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33797:2:136",
                        "nodeType": "YulLiteral",
                        "src": "33797:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33782:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33782:3:136"
                    },
                    "nativeSrc": "33782:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33782:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33774:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "33774:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33816:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33816:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "33831:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33831:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33839:18:136",
                            "nodeType": "YulLiteral",
                            "src": "33839:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33827:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33827:3:136"
                        },
                        "nativeSrc": "33827:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33827:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33809:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33809:6:136"
                    },
                    "nativeSrc": "33809:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33809:50:136"
                  },
                  "nativeSrc": "33809:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33809:50:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_QueryId_$37151__to_t_uint64__fromStack_reversed",
            "nativeSrc": "33635:230:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33733:9:136",
                "nodeType": "YulTypedName",
                "src": "33733:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33744:6:136",
                "nodeType": "YulTypedName",
                "src": "33744:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33755:4:136",
                "nodeType": "YulTypedName",
                "src": "33755:4:136",
                "type": ""
              }
            ],
            "src": "33635:230:136"
          },
          {
            "body": {
              "nativeSrc": "33982:915:136",
              "nodeType": "YulBlock",
              "src": "33982:915:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34028:16:136",
                    "nodeType": "YulBlock",
                    "src": "34028:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34037:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34037:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34040:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34040:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34030:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34030:6:136"
                          },
                          "nativeSrc": "34030:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34030:12:136"
                        },
                        "nativeSrc": "34030:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34030:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34003:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "34003:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34012:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34012:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "33999:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33999:3:136"
                        },
                        "nativeSrc": "33999:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33999:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34024:2:136",
                        "nodeType": "YulLiteral",
                        "src": "34024:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "33995:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33995:3:136"
                    },
                    "nativeSrc": "33995:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33995:32:136"
                  },
                  "nativeSrc": "33992:52:136",
                  "nodeType": "YulIf",
                  "src": "33992:52:136"
                },
                {
                  "nativeSrc": "34053:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34053:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34073:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "34073:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34067:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34067:5:136"
                    },
                    "nativeSrc": "34067:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34067:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "34057:6:136",
                      "nodeType": "YulTypedName",
                      "src": "34057:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34126:16:136",
                    "nodeType": "YulBlock",
                    "src": "34126:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34135:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34135:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34138:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34138:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34128:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34128:6:136"
                          },
                          "nativeSrc": "34128:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34128:12:136"
                        },
                        "nativeSrc": "34128:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34128:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "34098:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34098:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34106:18:136",
                        "nodeType": "YulLiteral",
                        "src": "34106:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "34095:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "34095:2:136"
                    },
                    "nativeSrc": "34095:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34095:30:136"
                  },
                  "nativeSrc": "34092:50:136",
                  "nodeType": "YulIf",
                  "src": "34092:50:136"
                },
                {
                  "nativeSrc": "34151:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34151:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34165:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "34165:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "34176:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34176:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34161:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34161:3:136"
                    },
                    "nativeSrc": "34161:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34161:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "34155:2:136",
                      "nodeType": "YulTypedName",
                      "src": "34155:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34223:16:136",
                    "nodeType": "YulBlock",
                    "src": "34223:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34232:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34232:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34235:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34235:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34225:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34225:6:136"
                          },
                          "nativeSrc": "34225:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34225:12:136"
                        },
                        "nativeSrc": "34225:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34225:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34203:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "34203:7:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "34212:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "34212:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34199:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34199:3:136"
                        },
                        "nativeSrc": "34199:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34199:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34217:4:136",
                        "nodeType": "YulLiteral",
                        "src": "34217:4:136",
                        "type": "",
                        "value": "0x80"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34195:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34195:3:136"
                    },
                    "nativeSrc": "34195:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34195:27:136"
                  },
                  "nativeSrc": "34192:47:136",
                  "nodeType": "YulIf",
                  "src": "34192:47:136"
                },
                {
                  "nativeSrc": "34248:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34248:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "34268:2:136",
                        "nodeType": "YulLiteral",
                        "src": "34268:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34262:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34262:5:136"
                    },
                    "nativeSrc": "34262:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34262:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "34252:6:136",
                      "nodeType": "YulTypedName",
                      "src": "34252:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "34305:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34305:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_7569",
                      "nativeSrc": "34280:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "34280:24:136"
                    },
                    "nativeSrc": "34280:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34280:32:136"
                  },
                  "nativeSrc": "34280:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34280:32:136"
                },
                {
                  "nativeSrc": "34321:22:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34321:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "34340:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "34340:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34334:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34334:5:136"
                    },
                    "nativeSrc": "34334:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34334:9:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "34325:5:136",
                      "nodeType": "YulTypedName",
                      "src": "34325:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "34377:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "34377:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "34352:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "34352:24:136"
                    },
                    "nativeSrc": "34352:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34352:31:136"
                  },
                  "nativeSrc": "34352:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34352:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "34399:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34399:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "34407:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "34407:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34392:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34392:6:136"
                    },
                    "nativeSrc": "34392:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34392:21:136"
                  },
                  "nativeSrc": "34392:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34392:21:136"
                },
                {
                  "nativeSrc": "34422:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34422:33:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "34447:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "34447:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34451:2:136",
                            "nodeType": "YulLiteral",
                            "src": "34451:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34443:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34443:3:136"
                        },
                        "nativeSrc": "34443:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34443:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34437:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34437:5:136"
                    },
                    "nativeSrc": "34437:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34437:18:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "34426:7:136",
                      "nodeType": "YulTypedName",
                      "src": "34426:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34511:16:136",
                    "nodeType": "YulBlock",
                    "src": "34511:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34520:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34520:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34523:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34523:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34513:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34513:6:136"
                          },
                          "nativeSrc": "34513:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34513:12:136"
                        },
                        "nativeSrc": "34513:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34513:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "34477:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "34477:7:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value_1",
                                "nativeSrc": "34490:7:136",
                                "nodeType": "YulIdentifier",
                                "src": "34490:7:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "34499:8:136",
                                "nodeType": "YulLiteral",
                                "src": "34499:8:136",
                                "type": "",
                                "value": "0xffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "34486:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "34486:3:136"
                            },
                            "nativeSrc": "34486:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "34486:22:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "34474:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "34474:2:136"
                        },
                        "nativeSrc": "34474:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34474:35:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "34467:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34467:6:136"
                    },
                    "nativeSrc": "34467:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34467:43:136"
                  },
                  "nativeSrc": "34464:63:136",
                  "nodeType": "YulIf",
                  "src": "34464:63:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "34547:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34547:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34555:2:136",
                            "nodeType": "YulLiteral",
                            "src": "34555:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34543:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34543:3:136"
                        },
                        "nativeSrc": "34543:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34543:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "34560:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "34560:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34536:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34536:6:136"
                    },
                    "nativeSrc": "34536:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34536:32:136"
                  },
                  "nativeSrc": "34536:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34536:32:136"
                },
                {
                  "nativeSrc": "34577:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34577:34:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "34603:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "34603:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34607:2:136",
                            "nodeType": "YulLiteral",
                            "src": "34607:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34599:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34599:3:136"
                        },
                        "nativeSrc": "34599:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34599:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34593:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34593:5:136"
                    },
                    "nativeSrc": "34593:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34593:18:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "34581:8:136",
                      "nodeType": "YulTypedName",
                      "src": "34581:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34656:16:136",
                    "nodeType": "YulBlock",
                    "src": "34656:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34665:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34665:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34668:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34668:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34658:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34658:6:136"
                          },
                          "nativeSrc": "34658:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34658:12:136"
                        },
                        "nativeSrc": "34658:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34658:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "34626:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "34626:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34636:18:136",
                        "nodeType": "YulLiteral",
                        "src": "34636:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "34623:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "34623:2:136"
                    },
                    "nativeSrc": "34623:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34623:32:136"
                  },
                  "nativeSrc": "34620:52:136",
                  "nodeType": "YulIf",
                  "src": "34620:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "34692:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34692:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34700:2:136",
                            "nodeType": "YulLiteral",
                            "src": "34700:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34688:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34688:3:136"
                        },
                        "nativeSrc": "34688:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34688:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "34738:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "34738:2:136"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "34742:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "34742:8:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "34734:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "34734:3:136"
                            },
                            "nativeSrc": "34734:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "34734:17:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34753:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "34753:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "34705:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "34705:28:136"
                        },
                        "nativeSrc": "34705:56:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34705:56:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34681:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34681:6:136"
                    },
                    "nativeSrc": "34681:81:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34681:81:136"
                  },
                  "nativeSrc": "34681:81:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34681:81:136"
                },
                {
                  "nativeSrc": "34771:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34771:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34786:1:136",
                    "nodeType": "YulLiteral",
                    "src": "34786:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "34775:7:136",
                      "nodeType": "YulTypedName",
                      "src": "34775:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34796:29:136",
                  "nodeType": "YulAssignment",
                  "src": "34796:29:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "34817:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "34817:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34821:2:136",
                            "nodeType": "YulLiteral",
                            "src": "34821:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34813:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34813:3:136"
                        },
                        "nativeSrc": "34813:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34813:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34807:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34807:5:136"
                    },
                    "nativeSrc": "34807:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34807:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_2",
                      "nativeSrc": "34796:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "34796:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "34845:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34845:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34853:2:136",
                            "nodeType": "YulLiteral",
                            "src": "34853:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34841:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34841:3:136"
                        },
                        "nativeSrc": "34841:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34841:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "34858:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "34858:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34834:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34834:6:136"
                    },
                    "nativeSrc": "34834:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34834:32:136"
                  },
                  "nativeSrc": "34834:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34834:32:136"
                },
                {
                  "nativeSrc": "34875:16:136",
                  "nodeType": "YulAssignment",
                  "src": "34875:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "34885:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "34885:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "34875:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34875:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_QueryRequest_$37351_memory_ptr_fromMemory",
            "nativeSrc": "33870:1027:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33948:9:136",
                "nodeType": "YulTypedName",
                "src": "33948:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "33959:7:136",
                "nodeType": "YulTypedName",
                "src": "33959:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "33971:6:136",
                "nodeType": "YulTypedName",
                "src": "33971:6:136",
                "type": ""
              }
            ],
            "src": "33870:1027:136"
          },
          {
            "body": {
              "nativeSrc": "34934:95:136",
              "nodeType": "YulBlock",
              "src": "34934:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "34951:1:136",
                        "nodeType": "YulLiteral",
                        "src": "34951:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "34958:3:136",
                            "nodeType": "YulLiteral",
                            "src": "34958:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34963:10:136",
                            "nodeType": "YulLiteral",
                            "src": "34963:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "34954:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34954:3:136"
                        },
                        "nativeSrc": "34954:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34954:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34944:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34944:6:136"
                    },
                    "nativeSrc": "34944:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34944:31:136"
                  },
                  "nativeSrc": "34944:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34944:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "34991:1:136",
                        "nodeType": "YulLiteral",
                        "src": "34991:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34994:4:136",
                        "nodeType": "YulLiteral",
                        "src": "34994:4:136",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34984:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34984:6:136"
                    },
                    "nativeSrc": "34984:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34984:15:136"
                  },
                  "nativeSrc": "34984:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34984:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35015:1:136",
                        "nodeType": "YulLiteral",
                        "src": "35015:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35018:4:136",
                        "nodeType": "YulLiteral",
                        "src": "35018:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "35008:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35008:6:136"
                    },
                    "nativeSrc": "35008:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35008:15:136"
                  },
                  "nativeSrc": "35008:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35008:15:136"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "34902:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "34902:127:136"
          },
          {
            "body": {
              "nativeSrc": "35085:217:136",
              "nodeType": "YulBlock",
              "src": "35085:217:136",
              "statements": [
                {
                  "nativeSrc": "35095:78:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35095:78:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "35122:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "35122:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35125:18:136",
                            "nodeType": "YulLiteral",
                            "src": "35125:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35118:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35118:3:136"
                        },
                        "nativeSrc": "35118:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35118:26:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "35150:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "35150:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35153:18:136",
                            "nodeType": "YulLiteral",
                            "src": "35153:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35146:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35146:3:136"
                        },
                        "nativeSrc": "35146:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35146:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "35114:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35114:3:136"
                    },
                    "nativeSrc": "35114:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35114:59:136"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "35099:11:136",
                      "nodeType": "YulTypedName",
                      "src": "35099:11:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35182:47:136",
                  "nodeType": "YulAssignment",
                  "src": "35182:47:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "35197:11:136",
                        "nodeType": "YulIdentifier",
                        "src": "35197:11:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35210:18:136",
                        "nodeType": "YulLiteral",
                        "src": "35210:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "35193:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35193:3:136"
                    },
                    "nativeSrc": "35193:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35193:36:136"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "35182:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "35182:7:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35274:22:136",
                    "nodeType": "YulBlock",
                    "src": "35274:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "35276:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "35276:16:136"
                          },
                          "nativeSrc": "35276:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35276:18:136"
                        },
                        "nativeSrc": "35276:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35276:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "35251:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "35251:7:136"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "35260:11:136",
                            "nodeType": "YulIdentifier",
                            "src": "35260:11:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "35248:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "35248:2:136"
                        },
                        "nativeSrc": "35248:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35248:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35241:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35241:6:136"
                    },
                    "nativeSrc": "35241:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35241:32:136"
                  },
                  "nativeSrc": "35238:58:136",
                  "nodeType": "YulIf",
                  "src": "35238:58:136"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "35034:268:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "35064:1:136",
                "nodeType": "YulTypedName",
                "src": "35064:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "35067:1:136",
                "nodeType": "YulTypedName",
                "src": "35067:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "35073:7:136",
                "nodeType": "YulTypedName",
                "src": "35073:7:136",
                "type": ""
              }
            ],
            "src": "35034:268:136"
          },
          {
            "body": {
              "nativeSrc": "35339:95:136",
              "nodeType": "YulBlock",
              "src": "35339:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35356:1:136",
                        "nodeType": "YulLiteral",
                        "src": "35356:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "35363:3:136",
                            "nodeType": "YulLiteral",
                            "src": "35363:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35368:10:136",
                            "nodeType": "YulLiteral",
                            "src": "35368:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "35359:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35359:3:136"
                        },
                        "nativeSrc": "35359:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35359:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35349:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35349:6:136"
                    },
                    "nativeSrc": "35349:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35349:31:136"
                  },
                  "nativeSrc": "35349:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35349:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35396:1:136",
                        "nodeType": "YulLiteral",
                        "src": "35396:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35399:4:136",
                        "nodeType": "YulLiteral",
                        "src": "35399:4:136",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35389:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35389:6:136"
                    },
                    "nativeSrc": "35389:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35389:15:136"
                  },
                  "nativeSrc": "35389:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35389:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35420:1:136",
                        "nodeType": "YulLiteral",
                        "src": "35420:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35423:4:136",
                        "nodeType": "YulLiteral",
                        "src": "35423:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "35413:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35413:6:136"
                    },
                    "nativeSrc": "35413:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35413:15:136"
                  },
                  "nativeSrc": "35413:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35413:15:136"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "35307:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "35307:127:136"
          },
          {
            "body": {
              "nativeSrc": "35484:149:136",
              "nodeType": "YulBlock",
              "src": "35484:149:136",
              "statements": [
                {
                  "nativeSrc": "35494:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35494:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "35509:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "35509:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35512:18:136",
                        "nodeType": "YulLiteral",
                        "src": "35512:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "35505:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35505:3:136"
                    },
                    "nativeSrc": "35505:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35505:26:136"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "35498:3:136",
                      "nodeType": "YulTypedName",
                      "src": "35498:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35555:22:136",
                    "nodeType": "YulBlock",
                    "src": "35555:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "35557:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "35557:16:136"
                          },
                          "nativeSrc": "35557:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35557:18:136"
                        },
                        "nativeSrc": "35557:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35557:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "35550:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "35550:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35543:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35543:6:136"
                    },
                    "nativeSrc": "35543:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35543:11:136"
                  },
                  "nativeSrc": "35540:37:136",
                  "nodeType": "YulIf",
                  "src": "35540:37:136"
                },
                {
                  "nativeSrc": "35586:41:136",
                  "nodeType": "YulAssignment",
                  "src": "35586:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "35599:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "35599:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35602:18:136",
                            "nodeType": "YulLiteral",
                            "src": "35602:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35595:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35595:3:136"
                        },
                        "nativeSrc": "35595:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35595:26:136"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "35623:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "35623:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "35591:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35591:3:136"
                    },
                    "nativeSrc": "35591:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35591:36:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "35586:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "35586:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint64",
            "nativeSrc": "35439:194:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "35469:1:136",
                "nodeType": "YulTypedName",
                "src": "35469:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "35472:1:136",
                "nodeType": "YulTypedName",
                "src": "35472:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "35478:1:136",
                "nodeType": "YulTypedName",
                "src": "35478:1:136",
                "type": ""
              }
            ],
            "src": "35439:194:136"
          },
          {
            "body": {
              "nativeSrc": "35717:87:136",
              "nodeType": "YulBlock",
              "src": "35717:87:136",
              "statements": [
                {
                  "nativeSrc": "35727:22:136",
                  "nodeType": "YulAssignment",
                  "src": "35727:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "35742:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35742:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35736:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35736:5:136"
                    },
                    "nativeSrc": "35736:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35736:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "35727:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35727:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35782:16:136",
                    "nodeType": "YulBlock",
                    "src": "35782:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35791:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35791:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35794:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35794:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35784:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35784:6:136"
                          },
                          "nativeSrc": "35784:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35784:12:136"
                        },
                        "nativeSrc": "35784:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35784:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "35771:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "35771:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35778:1:136",
                            "nodeType": "YulLiteral",
                            "src": "35778:1:136",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35768:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "35768:2:136"
                        },
                        "nativeSrc": "35768:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35768:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35761:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35761:6:136"
                    },
                    "nativeSrc": "35761:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35761:20:136"
                  },
                  "nativeSrc": "35758:40:136",
                  "nodeType": "YulIf",
                  "src": "35758:40:136"
                }
              ]
            },
            "name": "abi_decode_enum_RadonRetrievalMethods_fromMemory",
            "nativeSrc": "35638:166:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "35696:6:136",
                "nodeType": "YulTypedName",
                "src": "35696:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "35707:5:136",
                "nodeType": "YulTypedName",
                "src": "35707:5:136",
                "type": ""
              }
            ],
            "src": "35638:166:136"
          },
          {
            "body": {
              "nativeSrc": "35881:88:136",
              "nodeType": "YulBlock",
              "src": "35881:88:136",
              "statements": [
                {
                  "nativeSrc": "35891:22:136",
                  "nodeType": "YulAssignment",
                  "src": "35891:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "35906:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35906:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35900:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35900:5:136"
                    },
                    "nativeSrc": "35900:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35900:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "35891:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35891:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35947:16:136",
                    "nodeType": "YulBlock",
                    "src": "35947:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35956:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35956:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35959:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35959:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35949:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35949:6:136"
                          },
                          "nativeSrc": "35949:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35949:12:136"
                        },
                        "nativeSrc": "35949:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35949:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "35935:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "35935:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35942:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35942:2:136",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35932:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "35932:2:136"
                        },
                        "nativeSrc": "35932:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35932:13:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35925:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35925:6:136"
                    },
                    "nativeSrc": "35925:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35925:21:136"
                  },
                  "nativeSrc": "35922:41:136",
                  "nodeType": "YulIf",
                  "src": "35922:41:136"
                }
              ]
            },
            "name": "abi_decode_enum_RadonDataTypes_fromMemory",
            "nativeSrc": "35809:160:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "35860:6:136",
                "nodeType": "YulTypedName",
                "src": "35860:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "35871:5:136",
                "nodeType": "YulTypedName",
                "src": "35871:5:136",
                "type": ""
              }
            ],
            "src": "35809:160:136"
          },
          {
            "body": {
              "nativeSrc": "36054:1477:136",
              "nodeType": "YulBlock",
              "src": "36054:1477:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "36103:16:136",
                    "nodeType": "YulBlock",
                    "src": "36103:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36112:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36112:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36115:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36115:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36105:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36105:6:136"
                          },
                          "nativeSrc": "36105:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36105:12:136"
                        },
                        "nativeSrc": "36105:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36105:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "36082:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "36082:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "36090:4:136",
                                "nodeType": "YulLiteral",
                                "src": "36090:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36078:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36078:3:136"
                            },
                            "nativeSrc": "36078:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "36078:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "36097:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36097:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "36074:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36074:3:136"
                        },
                        "nativeSrc": "36074:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36074:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "36067:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36067:6:136"
                    },
                    "nativeSrc": "36067:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36067:35:136"
                  },
                  "nativeSrc": "36064:55:136",
                  "nodeType": "YulIf",
                  "src": "36064:55:136"
                },
                {
                  "nativeSrc": "36128:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36128:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "36148:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36148:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36142:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "36142:5:136"
                    },
                    "nativeSrc": "36142:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36142:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "36132:6:136",
                      "nodeType": "YulTypedName",
                      "src": "36132:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36164:56:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36164:56:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "36213:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36213:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_bytes4_dyn",
                      "nativeSrc": "36174:38:136",
                      "nodeType": "YulIdentifier",
                      "src": "36174:38:136"
                    },
                    "nativeSrc": "36174:46:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36174:46:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "36168:2:136",
                      "nodeType": "YulTypedName",
                      "src": "36168:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36229:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36229:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "36249:2:136",
                        "nodeType": "YulLiteral",
                        "src": "36249:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36243:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "36243:5:136"
                    },
                    "nativeSrc": "36243:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36243:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "36233:6:136",
                      "nodeType": "YulTypedName",
                      "src": "36233:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "36281:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36281:6:136"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "36289:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "36289:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "36261:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "36261:19:136"
                    },
                    "nativeSrc": "36261:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36261:31:136"
                  },
                  "nativeSrc": "36261:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36261:31:136"
                },
                {
                  "nativeSrc": "36301:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36301:17:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "36312:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "36312:6:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "36305:3:136",
                      "nodeType": "YulTypedName",
                      "src": "36305:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "36334:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36334:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "36342:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36342:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36327:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36327:6:136"
                    },
                    "nativeSrc": "36327:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36327:22:136"
                  },
                  "nativeSrc": "36327:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36327:22:136"
                },
                {
                  "nativeSrc": "36358:24:136",
                  "nodeType": "YulAssignment",
                  "src": "36358:24:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "36369:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36369:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36377:4:136",
                        "nodeType": "YulLiteral",
                        "src": "36377:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36365:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36365:3:136"
                    },
                    "nativeSrc": "36365:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36365:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "36358:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36358:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "36391:52:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36391:52:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "36413:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36413:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "36425:1:136",
                                "nodeType": "YulLiteral",
                                "src": "36425:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "36428:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "36428:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "36421:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36421:3:136"
                            },
                            "nativeSrc": "36421:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "36421:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36409:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36409:3:136"
                        },
                        "nativeSrc": "36409:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36409:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36438:4:136",
                        "nodeType": "YulLiteral",
                        "src": "36438:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36405:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36405:3:136"
                    },
                    "nativeSrc": "36405:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36405:38:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "36395:6:136",
                      "nodeType": "YulTypedName",
                      "src": "36395:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36471:16:136",
                    "nodeType": "YulBlock",
                    "src": "36471:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36480:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36480:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36483:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36483:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36473:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36473:6:136"
                          },
                          "nativeSrc": "36473:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36473:12:136"
                        },
                        "nativeSrc": "36473:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36473:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "36458:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36458:6:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "36466:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "36466:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36455:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "36455:2:136"
                    },
                    "nativeSrc": "36455:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36455:15:136"
                  },
                  "nativeSrc": "36452:35:136",
                  "nodeType": "YulIf",
                  "src": "36452:35:136"
                },
                {
                  "nativeSrc": "36496:28:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36496:28:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "36511:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36511:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36519:4:136",
                        "nodeType": "YulLiteral",
                        "src": "36519:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36507:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36507:3:136"
                    },
                    "nativeSrc": "36507:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36507:17:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "36500:3:136",
                      "nodeType": "YulTypedName",
                      "src": "36500:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36591:910:136",
                    "nodeType": "YulBlock",
                    "src": "36591:910:136",
                    "statements": [
                      {
                        "nativeSrc": "36605:29:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36605:29:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "36630:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36630:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "36624:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "36624:5:136"
                          },
                          "nativeSrc": "36624:10:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36624:10:136"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "36609:11:136",
                            "nodeType": "YulTypedName",
                            "src": "36609:11:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "36686:16:136",
                          "nodeType": "YulBlock",
                          "src": "36686:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36695:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36695:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36698:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36698:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "36688:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36688:6:136"
                                },
                                "nativeSrc": "36688:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36688:12:136"
                              },
                              "nativeSrc": "36688:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "36688:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "36653:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "36653:11:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36666:18:136",
                              "nodeType": "YulLiteral",
                              "src": "36666:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "36650:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "36650:2:136"
                          },
                          "nativeSrc": "36650:35:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36650:35:136"
                        },
                        "nativeSrc": "36647:55:136",
                        "nodeType": "YulIf",
                        "src": "36647:55:136"
                      },
                      {
                        "nativeSrc": "36715:34:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36715:34:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "offset",
                              "nativeSrc": "36729:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "36729:6:136"
                            },
                            {
                              "name": "innerOffset",
                              "nativeSrc": "36737:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "36737:11:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36725:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36725:3:136"
                          },
                          "nativeSrc": "36725:24:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36725:24:136"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "36719:2:136",
                            "nodeType": "YulTypedName",
                            "src": "36719:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "36795:16:136",
                          "nodeType": "YulBlock",
                          "src": "36795:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36804:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36804:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36807:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36807:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "36797:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36797:6:136"
                                },
                                "nativeSrc": "36797:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36797:12:136"
                              },
                              "nativeSrc": "36797:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "36797:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_2",
                                      "nativeSrc": "36780:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "36780:2:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "36784:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "36784:2:136",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "36776:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "36776:3:136"
                                  },
                                  "nativeSrc": "36776:11:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "36776:11:136"
                                },
                                {
                                  "name": "end",
                                  "nativeSrc": "36789:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36789:3:136"
                                }
                              ],
                              "functionName": {
                                "name": "slt",
                                "nativeSrc": "36772:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "36772:3:136"
                              },
                              "nativeSrc": "36772:21:136",
                              "nodeType": "YulFunctionCall",
                              "src": "36772:21:136"
                            }
                          ],
                          "functionName": {
                            "name": "iszero",
                            "nativeSrc": "36765:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36765:6:136"
                          },
                          "nativeSrc": "36765:29:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36765:29:136"
                        },
                        "nativeSrc": "36762:49:136",
                        "nodeType": "YulIf",
                        "src": "36762:49:136"
                      },
                      {
                        "nativeSrc": "36824:25:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36824:25:136",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36846:2:136",
                              "nodeType": "YulLiteral",
                              "src": "36846:2:136",
                              "type": "",
                              "value": "64"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "36840:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "36840:5:136"
                          },
                          "nativeSrc": "36840:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36840:9:136"
                        },
                        "variables": [
                          {
                            "name": "memPtr_1",
                            "nativeSrc": "36828:8:136",
                            "nodeType": "YulTypedName",
                            "src": "36828:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "memPtr_1",
                              "nativeSrc": "36887:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "36887:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "finalize_allocation_7567",
                            "nativeSrc": "36862:24:136",
                            "nodeType": "YulIdentifier",
                            "src": "36862:24:136"
                          },
                          "nativeSrc": "36862:34:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36862:34:136"
                        },
                        "nativeSrc": "36862:34:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36862:34:136"
                      },
                      {
                        "nativeSrc": "36909:21:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36909:21:136",
                        "value": {
                          "name": "memPtr_1",
                          "nativeSrc": "36922:8:136",
                          "nodeType": "YulIdentifier",
                          "src": "36922:8:136"
                        },
                        "variables": [
                          {
                            "name": "dst_1",
                            "nativeSrc": "36913:5:136",
                            "nodeType": "YulTypedName",
                            "src": "36913:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "36943:27:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36943:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "_2",
                              "nativeSrc": "36963:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "36963:2:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36967:2:136",
                              "nodeType": "YulLiteral",
                              "src": "36967:2:136",
                              "type": "",
                              "value": "96"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36959:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36959:3:136"
                          },
                          "nativeSrc": "36959:11:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36959:11:136"
                        },
                        "variables": [
                          {
                            "name": "srcEnd_1",
                            "nativeSrc": "36947:8:136",
                            "nodeType": "YulTypedName",
                            "src": "36947:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "37004:16:136",
                          "nodeType": "YulBlock",
                          "src": "37004:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "37013:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "37013:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "37016:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "37016:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "37006:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37006:6:136"
                                },
                                "nativeSrc": "37006:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "37006:12:136"
                              },
                              "nativeSrc": "37006:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "37006:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "srcEnd_1",
                              "nativeSrc": "36989:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "36989:8:136"
                            },
                            {
                              "name": "end",
                              "nativeSrc": "36999:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36999:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "36986:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "36986:2:136"
                          },
                          "nativeSrc": "36986:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36986:17:136"
                        },
                        "nativeSrc": "36983:37:136",
                        "nodeType": "YulIf",
                        "src": "36983:37:136"
                      },
                      {
                        "nativeSrc": "37033:26:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "37033:26:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "_2",
                              "nativeSrc": "37050:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "37050:2:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37054:4:136",
                              "nodeType": "YulLiteral",
                              "src": "37054:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "37046:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "37046:3:136"
                          },
                          "nativeSrc": "37046:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37046:13:136"
                        },
                        "variables": [
                          {
                            "name": "src_1",
                            "nativeSrc": "37037:5:136",
                            "nodeType": "YulTypedName",
                            "src": "37037:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "37142:281:136",
                          "nodeType": "YulBlock",
                          "src": "37142:281:136",
                          "statements": [
                            {
                              "nativeSrc": "37160:33:136",
                              "nodeType": "YulVariableDeclaration",
                              "src": "37160:33:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "src_1",
                                    "nativeSrc": "37187:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "37187:5:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "mload",
                                  "nativeSrc": "37181:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37181:5:136"
                                },
                                "nativeSrc": "37181:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "37181:12:136"
                              },
                              "variables": [
                                {
                                  "name": "innerOffset_1",
                                  "nativeSrc": "37164:13:136",
                                  "nodeType": "YulTypedName",
                                  "src": "37164:13:136",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "body": {
                                "nativeSrc": "37251:16:136",
                                "nodeType": "YulBlock",
                                "src": "37251:16:136",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "37260:1:136",
                                          "nodeType": "YulLiteral",
                                          "src": "37260:1:136",
                                          "type": "",
                                          "value": "0"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "37263:1:136",
                                          "nodeType": "YulLiteral",
                                          "src": "37263:1:136",
                                          "type": "",
                                          "value": "0"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "revert",
                                        "nativeSrc": "37253:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "37253:6:136"
                                      },
                                      "nativeSrc": "37253:12:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "37253:12:136"
                                    },
                                    "nativeSrc": "37253:12:136",
                                    "nodeType": "YulExpressionStatement",
                                    "src": "37253:12:136"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "name": "innerOffset_1",
                                    "nativeSrc": "37216:13:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "37216:13:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "37231:18:136",
                                    "nodeType": "YulLiteral",
                                    "src": "37231:18:136",
                                    "type": "",
                                    "value": "0xffffffffffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "gt",
                                  "nativeSrc": "37213:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37213:2:136"
                                },
                                "nativeSrc": "37213:37:136",
                                "nodeType": "YulFunctionCall",
                                "src": "37213:37:136"
                              },
                              "nativeSrc": "37210:57:136",
                              "nodeType": "YulIf",
                              "src": "37210:57:136"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "dst_1",
                                    "nativeSrc": "37291:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "37291:5:136"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "_2",
                                                "nativeSrc": "37335:2:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "37335:2:136"
                                              },
                                              {
                                                "name": "innerOffset_1",
                                                "nativeSrc": "37339:13:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "37339:13:136"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "37331:3:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "37331:3:136"
                                            },
                                            "nativeSrc": "37331:22:136",
                                            "nodeType": "YulFunctionCall",
                                            "src": "37331:22:136"
                                          },
                                          {
                                            "kind": "number",
                                            "nativeSrc": "37355:4:136",
                                            "nodeType": "YulLiteral",
                                            "src": "37355:4:136",
                                            "type": "",
                                            "value": "0x20"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "37327:3:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "37327:3:136"
                                        },
                                        "nativeSrc": "37327:33:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "37327:33:136"
                                      },
                                      {
                                        "name": "end",
                                        "nativeSrc": "37362:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "37362:3:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "abi_decode_string_fromMemory",
                                      "nativeSrc": "37298:28:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "37298:28:136"
                                    },
                                    "nativeSrc": "37298:68:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "37298:68:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nativeSrc": "37284:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37284:6:136"
                                },
                                "nativeSrc": "37284:83:136",
                                "nodeType": "YulFunctionCall",
                                "src": "37284:83:136"
                              },
                              "nativeSrc": "37284:83:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "37284:83:136"
                            },
                            {
                              "nativeSrc": "37384:25:136",
                              "nodeType": "YulAssignment",
                              "src": "37384:25:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "dst_1",
                                    "nativeSrc": "37397:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "37397:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "37404:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "37404:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "37393:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37393:3:136"
                                },
                                "nativeSrc": "37393:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "37393:16:136"
                              },
                              "variableNames": [
                                {
                                  "name": "dst_1",
                                  "nativeSrc": "37384:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37384:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "src_1",
                              "nativeSrc": "37083:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "37083:5:136"
                            },
                            {
                              "name": "srcEnd_1",
                              "nativeSrc": "37090:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "37090:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "37080:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "37080:2:136"
                          },
                          "nativeSrc": "37080:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37080:19:136"
                        },
                        "nativeSrc": "37072:351:136",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "37100:29:136",
                          "nodeType": "YulBlock",
                          "src": "37100:29:136",
                          "statements": [
                            {
                              "nativeSrc": "37102:25:136",
                              "nodeType": "YulAssignment",
                              "src": "37102:25:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "src_1",
                                    "nativeSrc": "37115:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "37115:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "37122:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "37122:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "37111:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37111:3:136"
                                },
                                "nativeSrc": "37111:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "37111:16:136"
                              },
                              "variableNames": [
                                {
                                  "name": "src_1",
                                  "nativeSrc": "37102:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37102:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "37076:3:136",
                          "nodeType": "YulBlock",
                          "src": "37076:3:136",
                          "statements": []
                        },
                        "src": "37072:351:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "37443:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37443:3:136"
                            },
                            {
                              "name": "memPtr_1",
                              "nativeSrc": "37448:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "37448:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "37436:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37436:6:136"
                          },
                          "nativeSrc": "37436:21:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37436:21:136"
                        },
                        "nativeSrc": "37436:21:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37436:21:136"
                      },
                      {
                        "nativeSrc": "37470:21:136",
                        "nodeType": "YulAssignment",
                        "src": "37470:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "37481:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37481:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37486:4:136",
                              "nodeType": "YulLiteral",
                              "src": "37486:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "37477:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "37477:3:136"
                          },
                          "nativeSrc": "37477:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37477:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "37470:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "37470:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "36544:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "36544:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "36549:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36549:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "36541:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "36541:2:136"
                    },
                    "nativeSrc": "36541:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36541:15:136"
                  },
                  "nativeSrc": "36533:968:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "36557:25:136",
                    "nodeType": "YulBlock",
                    "src": "36557:25:136",
                    "statements": [
                      {
                        "nativeSrc": "36559:21:136",
                        "nodeType": "YulAssignment",
                        "src": "36559:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "36570:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36570:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36575:4:136",
                              "nodeType": "YulLiteral",
                              "src": "36575:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36566:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36566:3:136"
                          },
                          "nativeSrc": "36566:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36566:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "36559:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36559:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "36537:3:136",
                    "nodeType": "YulBlock",
                    "src": "36537:3:136",
                    "statements": []
                  },
                  "src": "36533:968:136"
                },
                {
                  "nativeSrc": "37510:15:136",
                  "nodeType": "YulAssignment",
                  "src": "37510:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "37519:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "37519:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "37510:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "37510:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_array_array_string_dyn_fromMemory",
            "nativeSrc": "35974:1557:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "36028:6:136",
                "nodeType": "YulTypedName",
                "src": "36028:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "36036:3:136",
                "nodeType": "YulTypedName",
                "src": "36036:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "36044:5:136",
                "nodeType": "YulTypedName",
                "src": "36044:5:136",
                "type": ""
              }
            ],
            "src": "35974:1557:136"
          },
          {
            "body": {
              "nativeSrc": "37675:2233:136",
              "nodeType": "YulBlock",
              "src": "37675:2233:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "37721:16:136",
                    "nodeType": "YulBlock",
                    "src": "37721:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37730:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37730:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37733:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37733:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37723:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37723:6:136"
                          },
                          "nativeSrc": "37723:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37723:12:136"
                        },
                        "nativeSrc": "37723:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37723:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "37696:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "37696:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "37705:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "37705:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "37692:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37692:3:136"
                        },
                        "nativeSrc": "37692:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37692:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37717:2:136",
                        "nodeType": "YulLiteral",
                        "src": "37717:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "37688:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37688:3:136"
                    },
                    "nativeSrc": "37688:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37688:32:136"
                  },
                  "nativeSrc": "37685:52:136",
                  "nodeType": "YulIf",
                  "src": "37685:52:136"
                },
                {
                  "nativeSrc": "37746:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37746:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37766:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37766:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37760:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "37760:5:136"
                    },
                    "nativeSrc": "37760:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37760:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "37750:6:136",
                      "nodeType": "YulTypedName",
                      "src": "37750:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37819:16:136",
                    "nodeType": "YulBlock",
                    "src": "37819:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37828:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37828:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37831:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37831:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37821:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37821:6:136"
                          },
                          "nativeSrc": "37821:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37821:12:136"
                        },
                        "nativeSrc": "37821:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37821:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "37791:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37791:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37799:18:136",
                        "nodeType": "YulLiteral",
                        "src": "37799:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37788:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "37788:2:136"
                    },
                    "nativeSrc": "37788:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37788:30:136"
                  },
                  "nativeSrc": "37785:50:136",
                  "nodeType": "YulIf",
                  "src": "37785:50:136"
                },
                {
                  "nativeSrc": "37844:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37844:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37858:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37858:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "37869:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37869:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37854:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37854:3:136"
                    },
                    "nativeSrc": "37854:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37854:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "37848:2:136",
                      "nodeType": "YulTypedName",
                      "src": "37848:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37924:16:136",
                    "nodeType": "YulBlock",
                    "src": "37924:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37933:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37933:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37936:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37936:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37926:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37926:6:136"
                          },
                          "nativeSrc": "37926:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37926:12:136"
                        },
                        "nativeSrc": "37926:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37926:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "37903:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "37903:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "37907:4:136",
                                "nodeType": "YulLiteral",
                                "src": "37907:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "37899:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37899:3:136"
                            },
                            "nativeSrc": "37899:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "37899:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "37914:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "37914:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "37895:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37895:3:136"
                        },
                        "nativeSrc": "37895:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37895:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "37888:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37888:6:136"
                    },
                    "nativeSrc": "37888:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37888:35:136"
                  },
                  "nativeSrc": "37885:55:136",
                  "nodeType": "YulIf",
                  "src": "37885:55:136"
                },
                {
                  "nativeSrc": "37949:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37949:23:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "37969:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "37969:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37963:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "37963:5:136"
                    },
                    "nativeSrc": "37963:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37963:9:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "37953:6:136",
                      "nodeType": "YulTypedName",
                      "src": "37953:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "37981:56:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37981:56:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "38030:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "38030:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_bytes4_dyn",
                      "nativeSrc": "37991:38:136",
                      "nodeType": "YulIdentifier",
                      "src": "37991:38:136"
                    },
                    "nativeSrc": "37991:46:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37991:46:136"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "37985:2:136",
                      "nodeType": "YulTypedName",
                      "src": "37985:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38046:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38046:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "38066:2:136",
                        "nodeType": "YulLiteral",
                        "src": "38066:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38060:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "38060:5:136"
                    },
                    "nativeSrc": "38060:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38060:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "38050:6:136",
                      "nodeType": "YulTypedName",
                      "src": "38050:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38098:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "38098:6:136"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "38106:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "38106:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "38078:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "38078:19:136"
                    },
                    "nativeSrc": "38078:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38078:31:136"
                  },
                  "nativeSrc": "38078:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "38078:31:136"
                },
                {
                  "nativeSrc": "38118:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38118:17:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "38129:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "38129:6:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "38122:3:136",
                      "nodeType": "YulTypedName",
                      "src": "38122:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38151:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "38151:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "38159:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "38159:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38144:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "38144:6:136"
                    },
                    "nativeSrc": "38144:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38144:22:136"
                  },
                  "nativeSrc": "38144:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "38144:22:136"
                },
                {
                  "nativeSrc": "38175:22:136",
                  "nodeType": "YulAssignment",
                  "src": "38175:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38186:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "38186:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38194:2:136",
                        "nodeType": "YulLiteral",
                        "src": "38194:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38182:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38182:3:136"
                    },
                    "nativeSrc": "38182:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38182:15:136"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "38175:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38175:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "38206:46:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38206:46:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "38228:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "38228:2:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "38236:1:136",
                                "nodeType": "YulLiteral",
                                "src": "38236:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "38239:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "38239:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "38232:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "38232:3:136"
                            },
                            "nativeSrc": "38232:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "38232:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38224:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "38224:3:136"
                        },
                        "nativeSrc": "38224:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "38224:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38249:2:136",
                        "nodeType": "YulLiteral",
                        "src": "38249:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38220:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38220:3:136"
                    },
                    "nativeSrc": "38220:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38220:32:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "38210:6:136",
                      "nodeType": "YulTypedName",
                      "src": "38210:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38284:16:136",
                    "nodeType": "YulBlock",
                    "src": "38284:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38293:1:136",
                              "nodeType": "YulLiteral",
                              "src": "38293:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38296:1:136",
                              "nodeType": "YulLiteral",
                              "src": "38296:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38286:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38286:6:136"
                          },
                          "nativeSrc": "38286:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38286:12:136"
                        },
                        "nativeSrc": "38286:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38286:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "38267:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "38267:6:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "38275:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "38275:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "38264:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "38264:2:136"
                    },
                    "nativeSrc": "38264:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38264:19:136"
                  },
                  "nativeSrc": "38261:39:136",
                  "nodeType": "YulIf",
                  "src": "38261:39:136"
                },
                {
                  "nativeSrc": "38309:22:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38309:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "38324:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "38324:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38328:2:136",
                        "nodeType": "YulLiteral",
                        "src": "38328:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38320:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38320:3:136"
                    },
                    "nativeSrc": "38320:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38320:11:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "38313:3:136",
                      "nodeType": "YulTypedName",
                      "src": "38313:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38396:1481:136",
                    "nodeType": "YulBlock",
                    "src": "38396:1481:136",
                    "statements": [
                      {
                        "nativeSrc": "38410:29:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38410:29:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "38435:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "38435:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "38429:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "38429:5:136"
                          },
                          "nativeSrc": "38429:10:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38429:10:136"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "38414:11:136",
                            "nodeType": "YulTypedName",
                            "src": "38414:11:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "38491:16:136",
                          "nodeType": "YulBlock",
                          "src": "38491:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38500:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38500:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38503:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38503:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "38493:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38493:6:136"
                                },
                                "nativeSrc": "38493:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "38493:12:136"
                              },
                              "nativeSrc": "38493:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "38493:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "38458:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "38458:11:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38471:18:136",
                              "nodeType": "YulLiteral",
                              "src": "38471:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "38455:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "38455:2:136"
                          },
                          "nativeSrc": "38455:35:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38455:35:136"
                        },
                        "nativeSrc": "38452:55:136",
                        "nodeType": "YulIf",
                        "src": "38452:55:136"
                      },
                      {
                        "nativeSrc": "38520:30:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38520:30:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "_1",
                              "nativeSrc": "38534:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "38534:2:136"
                            },
                            {
                              "name": "innerOffset",
                              "nativeSrc": "38538:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "38538:11:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "38530:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "38530:3:136"
                          },
                          "nativeSrc": "38530:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38530:20:136"
                        },
                        "variables": [
                          {
                            "name": "_3",
                            "nativeSrc": "38524:2:136",
                            "nodeType": "YulTypedName",
                            "src": "38524:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "38608:16:136",
                          "nodeType": "YulBlock",
                          "src": "38608:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38617:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38617:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38620:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38620:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "38610:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38610:6:136"
                                },
                                "nativeSrc": "38610:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "38610:12:136"
                              },
                              "nativeSrc": "38610:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "38610:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "dataEnd",
                                      "nativeSrc": "38578:7:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "38578:7:136"
                                    },
                                    {
                                      "name": "_3",
                                      "nativeSrc": "38587:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "38587:2:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "38574:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38574:3:136"
                                  },
                                  "nativeSrc": "38574:16:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38574:16:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38596:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38596:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "38592:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38592:3:136"
                                  },
                                  "nativeSrc": "38592:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38592:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38570:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38570:3:136"
                              },
                              "nativeSrc": "38570:30:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38570:30:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38602:4:136",
                              "nodeType": "YulLiteral",
                              "src": "38602:4:136",
                              "type": "",
                              "value": "0xe0"
                            }
                          ],
                          "functionName": {
                            "name": "slt",
                            "nativeSrc": "38566:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "38566:3:136"
                          },
                          "nativeSrc": "38566:41:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38566:41:136"
                        },
                        "nativeSrc": "38563:61:136",
                        "nodeType": "YulIf",
                        "src": "38563:61:136"
                      },
                      {
                        "nativeSrc": "38637:30:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38637:30:136",
                        "value": {
                          "arguments": [],
                          "functionName": {
                            "name": "allocate_memory",
                            "nativeSrc": "38650:15:136",
                            "nodeType": "YulIdentifier",
                            "src": "38650:15:136"
                          },
                          "nativeSrc": "38650:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38650:17:136"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "38641:5:136",
                            "nodeType": "YulTypedName",
                            "src": "38641:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "38687:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "38687:5:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_3",
                                      "nativeSrc": "38726:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "38726:2:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38730:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38730:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "38722:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38722:3:136"
                                  },
                                  "nativeSrc": "38722:11:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38722:11:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_uint8_fromMemory",
                                "nativeSrc": "38694:27:136",
                                "nodeType": "YulIdentifier",
                                "src": "38694:27:136"
                              },
                              "nativeSrc": "38694:40:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38694:40:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38680:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38680:6:136"
                          },
                          "nativeSrc": "38680:55:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38680:55:136"
                        },
                        "nativeSrc": "38680:55:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38680:55:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "38759:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38759:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38766:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38766:2:136",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38755:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38755:3:136"
                              },
                              "nativeSrc": "38755:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38755:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_3",
                                      "nativeSrc": "38824:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "38824:2:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38828:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38828:2:136",
                                      "type": "",
                                      "value": "64"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "38820:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38820:3:136"
                                  },
                                  "nativeSrc": "38820:11:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38820:11:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_enum_RadonRetrievalMethods_fromMemory",
                                "nativeSrc": "38771:48:136",
                                "nodeType": "YulIdentifier",
                                "src": "38771:48:136"
                              },
                              "nativeSrc": "38771:61:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38771:61:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38748:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38748:6:136"
                          },
                          "nativeSrc": "38748:85:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38748:85:136"
                        },
                        "nativeSrc": "38748:85:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38748:85:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "38857:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38857:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38864:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38864:2:136",
                                  "type": "",
                                  "value": "64"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38853:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38853:3:136"
                              },
                              "nativeSrc": "38853:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38853:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_3",
                                      "nativeSrc": "38915:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "38915:2:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38919:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38919:2:136",
                                      "type": "",
                                      "value": "96"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "38911:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38911:3:136"
                                  },
                                  "nativeSrc": "38911:11:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38911:11:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_enum_RadonDataTypes_fromMemory",
                                "nativeSrc": "38869:41:136",
                                "nodeType": "YulIdentifier",
                                "src": "38869:41:136"
                              },
                              "nativeSrc": "38869:54:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38869:54:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38846:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38846:6:136"
                          },
                          "nativeSrc": "38846:78:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38846:78:136"
                        },
                        "nativeSrc": "38846:78:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38846:78:136"
                      },
                      {
                        "nativeSrc": "38937:35:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38937:35:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "38963:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38963:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38967:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38967:3:136",
                                  "type": "",
                                  "value": "128"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38959:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38959:3:136"
                              },
                              "nativeSrc": "38959:12:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38959:12:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "38953:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "38953:5:136"
                          },
                          "nativeSrc": "38953:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38953:19:136"
                        },
                        "variables": [
                          {
                            "name": "offset_1",
                            "nativeSrc": "38941:8:136",
                            "nodeType": "YulTypedName",
                            "src": "38941:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "39021:16:136",
                          "nodeType": "YulBlock",
                          "src": "39021:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39030:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "39030:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39033:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "39033:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "39023:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39023:6:136"
                                },
                                "nativeSrc": "39023:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "39023:12:136"
                              },
                              "nativeSrc": "39023:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "39023:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "offset_1",
                              "nativeSrc": "38991:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "38991:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39001:18:136",
                              "nodeType": "YulLiteral",
                              "src": "39001:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "38988:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "38988:2:136"
                          },
                          "nativeSrc": "38988:32:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38988:32:136"
                        },
                        "nativeSrc": "38985:52:136",
                        "nodeType": "YulIf",
                        "src": "38985:52:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "39061:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39061:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "39068:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "39068:2:136",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "39057:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "39057:3:136"
                              },
                              "nativeSrc": "39057:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39057:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_3",
                                          "nativeSrc": "39110:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39110:2:136"
                                        },
                                        {
                                          "name": "offset_1",
                                          "nativeSrc": "39114:8:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39114:8:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "39106:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "39106:3:136"
                                      },
                                      "nativeSrc": "39106:17:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "39106:17:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "39125:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "39125:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "39102:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "39102:3:136"
                                  },
                                  "nativeSrc": "39102:26:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "39102:26:136"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "39130:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39130:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "39073:28:136",
                                "nodeType": "YulIdentifier",
                                "src": "39073:28:136"
                              },
                              "nativeSrc": "39073:65:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39073:65:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "39050:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39050:6:136"
                          },
                          "nativeSrc": "39050:89:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39050:89:136"
                        },
                        "nativeSrc": "39050:89:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "39050:89:136"
                      },
                      {
                        "nativeSrc": "39152:35:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "39152:35:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "39178:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39178:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "39182:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "39182:3:136",
                                  "type": "",
                                  "value": "160"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "39174:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "39174:3:136"
                              },
                              "nativeSrc": "39174:12:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39174:12:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "39168:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "39168:5:136"
                          },
                          "nativeSrc": "39168:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39168:19:136"
                        },
                        "variables": [
                          {
                            "name": "offset_2",
                            "nativeSrc": "39156:8:136",
                            "nodeType": "YulTypedName",
                            "src": "39156:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "39236:16:136",
                          "nodeType": "YulBlock",
                          "src": "39236:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39245:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "39245:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39248:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "39248:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "39238:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39238:6:136"
                                },
                                "nativeSrc": "39238:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "39238:12:136"
                              },
                              "nativeSrc": "39238:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "39238:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "offset_2",
                              "nativeSrc": "39206:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "39206:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39216:18:136",
                              "nodeType": "YulLiteral",
                              "src": "39216:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "39203:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "39203:2:136"
                          },
                          "nativeSrc": "39203:32:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39203:32:136"
                        },
                        "nativeSrc": "39200:52:136",
                        "nodeType": "YulIf",
                        "src": "39200:52:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "39276:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39276:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "39283:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "39283:3:136",
                                  "type": "",
                                  "value": "128"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "39272:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "39272:3:136"
                              },
                              "nativeSrc": "39272:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39272:15:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_3",
                                          "nativeSrc": "39326:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39326:2:136"
                                        },
                                        {
                                          "name": "offset_2",
                                          "nativeSrc": "39330:8:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39330:8:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "39322:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "39322:3:136"
                                      },
                                      "nativeSrc": "39322:17:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "39322:17:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "39341:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "39341:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "39318:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "39318:3:136"
                                  },
                                  "nativeSrc": "39318:26:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "39318:26:136"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "39346:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39346:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "39289:28:136",
                                "nodeType": "YulIdentifier",
                                "src": "39289:28:136"
                              },
                              "nativeSrc": "39289:65:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39289:65:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "39265:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39265:6:136"
                          },
                          "nativeSrc": "39265:90:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39265:90:136"
                        },
                        "nativeSrc": "39265:90:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "39265:90:136"
                      },
                      {
                        "nativeSrc": "39368:35:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "39368:35:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "39394:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39394:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "39398:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "39398:3:136",
                                  "type": "",
                                  "value": "192"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "39390:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "39390:3:136"
                              },
                              "nativeSrc": "39390:12:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39390:12:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "39384:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "39384:5:136"
                          },
                          "nativeSrc": "39384:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39384:19:136"
                        },
                        "variables": [
                          {
                            "name": "offset_3",
                            "nativeSrc": "39372:8:136",
                            "nodeType": "YulTypedName",
                            "src": "39372:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "39452:16:136",
                          "nodeType": "YulBlock",
                          "src": "39452:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39461:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "39461:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39464:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "39464:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "39454:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39454:6:136"
                                },
                                "nativeSrc": "39454:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "39454:12:136"
                              },
                              "nativeSrc": "39454:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "39454:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "offset_3",
                              "nativeSrc": "39422:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "39422:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39432:18:136",
                              "nodeType": "YulLiteral",
                              "src": "39432:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "39419:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "39419:2:136"
                          },
                          "nativeSrc": "39419:32:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39419:32:136"
                        },
                        "nativeSrc": "39416:52:136",
                        "nodeType": "YulIf",
                        "src": "39416:52:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "39492:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39492:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "39499:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "39499:3:136",
                                  "type": "",
                                  "value": "160"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "39488:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "39488:3:136"
                              },
                              "nativeSrc": "39488:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39488:15:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_3",
                                          "nativeSrc": "39558:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39558:2:136"
                                        },
                                        {
                                          "name": "offset_3",
                                          "nativeSrc": "39562:8:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39562:8:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "39554:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "39554:3:136"
                                      },
                                      "nativeSrc": "39554:17:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "39554:17:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "39573:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "39573:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "39550:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "39550:3:136"
                                  },
                                  "nativeSrc": "39550:26:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "39550:26:136"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "39578:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39578:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_array_array_string_dyn_fromMemory",
                                "nativeSrc": "39505:44:136",
                                "nodeType": "YulIdentifier",
                                "src": "39505:44:136"
                              },
                              "nativeSrc": "39505:81:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39505:81:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "39481:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39481:6:136"
                          },
                          "nativeSrc": "39481:106:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39481:106:136"
                        },
                        "nativeSrc": "39481:106:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "39481:106:136"
                      },
                      {
                        "nativeSrc": "39600:36:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "39600:36:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "39626:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39626:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "39630:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "39630:4:136",
                                  "type": "",
                                  "value": "0xe0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "39622:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "39622:3:136"
                              },
                              "nativeSrc": "39622:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39622:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "39616:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "39616:5:136"
                          },
                          "nativeSrc": "39616:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39616:20:136"
                        },
                        "variables": [
                          {
                            "name": "offset_4",
                            "nativeSrc": "39604:8:136",
                            "nodeType": "YulTypedName",
                            "src": "39604:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "39685:16:136",
                          "nodeType": "YulBlock",
                          "src": "39685:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39694:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "39694:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39697:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "39697:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "39687:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39687:6:136"
                                },
                                "nativeSrc": "39687:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "39687:12:136"
                              },
                              "nativeSrc": "39687:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "39687:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "offset_4",
                              "nativeSrc": "39655:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "39655:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39665:18:136",
                              "nodeType": "YulLiteral",
                              "src": "39665:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "39652:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "39652:2:136"
                          },
                          "nativeSrc": "39652:32:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39652:32:136"
                        },
                        "nativeSrc": "39649:52:136",
                        "nodeType": "YulIf",
                        "src": "39649:52:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "39725:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39725:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "39732:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "39732:3:136",
                                  "type": "",
                                  "value": "192"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "39721:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "39721:3:136"
                              },
                              "nativeSrc": "39721:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39721:15:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_3",
                                          "nativeSrc": "39775:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39775:2:136"
                                        },
                                        {
                                          "name": "offset_4",
                                          "nativeSrc": "39779:8:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39779:8:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "39771:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "39771:3:136"
                                      },
                                      "nativeSrc": "39771:17:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "39771:17:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "39790:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "39790:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "39767:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "39767:3:136"
                                  },
                                  "nativeSrc": "39767:26:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "39767:26:136"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "39795:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39795:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "39738:28:136",
                                "nodeType": "YulIdentifier",
                                "src": "39738:28:136"
                              },
                              "nativeSrc": "39738:65:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39738:65:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "39714:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39714:6:136"
                          },
                          "nativeSrc": "39714:90:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39714:90:136"
                        },
                        "nativeSrc": "39714:90:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "39714:90:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "39824:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "39824:3:136"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "39829:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "39829:5:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "39817:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39817:6:136"
                          },
                          "nativeSrc": "39817:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39817:18:136"
                        },
                        "nativeSrc": "39817:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "39817:18:136"
                      },
                      {
                        "nativeSrc": "39848:19:136",
                        "nodeType": "YulAssignment",
                        "src": "39848:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "39859:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "39859:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39864:2:136",
                              "nodeType": "YulLiteral",
                              "src": "39864:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "39855:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "39855:3:136"
                          },
                          "nativeSrc": "39855:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39855:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "39848:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "39848:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "38351:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "38351:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "38356:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "38356:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "38348:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "38348:2:136"
                    },
                    "nativeSrc": "38348:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38348:15:136"
                  },
                  "nativeSrc": "38340:1537:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "38364:23:136",
                    "nodeType": "YulBlock",
                    "src": "38364:23:136",
                    "statements": [
                      {
                        "nativeSrc": "38366:19:136",
                        "nodeType": "YulAssignment",
                        "src": "38366:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "38377:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "38377:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38382:2:136",
                              "nodeType": "YulLiteral",
                              "src": "38382:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "38373:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "38373:3:136"
                          },
                          "nativeSrc": "38373:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38373:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "38366:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "38366:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "38344:3:136",
                    "nodeType": "YulBlock",
                    "src": "38344:3:136",
                    "statements": []
                  },
                  "src": "38340:1537:136"
                },
                {
                  "nativeSrc": "39886:16:136",
                  "nodeType": "YulAssignment",
                  "src": "39886:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "39896:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "39896:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "39886:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39886:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "37536:2372:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37641:9:136",
                "nodeType": "YulTypedName",
                "src": "37641:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "37652:7:136",
                "nodeType": "YulTypedName",
                "src": "37652:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "37664:6:136",
                "nodeType": "YulTypedName",
                "src": "37664:6:136",
                "type": ""
              }
            ],
            "src": "37536:2372:136"
          },
          {
            "body": {
              "nativeSrc": "40014:139:136",
              "nodeType": "YulBlock",
              "src": "40014:139:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "40060:16:136",
                    "nodeType": "YulBlock",
                    "src": "40060:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40069:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40069:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40072:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40072:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40062:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40062:6:136"
                          },
                          "nativeSrc": "40062:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "40062:12:136"
                        },
                        "nativeSrc": "40062:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "40062:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "40035:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "40035:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "40044:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40044:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "40031:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40031:3:136"
                        },
                        "nativeSrc": "40031:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40031:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40056:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40056:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "40027:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "40027:3:136"
                    },
                    "nativeSrc": "40027:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40027:32:136"
                  },
                  "nativeSrc": "40024:52:136",
                  "nodeType": "YulIf",
                  "src": "40024:52:136"
                },
                {
                  "nativeSrc": "40085:62:136",
                  "nodeType": "YulAssignment",
                  "src": "40085:62:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40137:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "40137:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_enum_RadonDataTypes_fromMemory",
                      "nativeSrc": "40095:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "40095:41:136"
                    },
                    "nativeSrc": "40095:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40095:52:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "40085:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40085:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_RadonDataTypes_$37720_fromMemory",
            "nativeSrc": "39913:240:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "39980:9:136",
                "nodeType": "YulTypedName",
                "src": "39980:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "39991:7:136",
                "nodeType": "YulTypedName",
                "src": "39991:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "40003:6:136",
                "nodeType": "YulTypedName",
                "src": "40003:6:136",
                "type": ""
              }
            ],
            "src": "39913:240:136"
          },
          {
            "body": {
              "nativeSrc": "40325:159:136",
              "nodeType": "YulBlock",
              "src": "40325:159:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40342:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "40342:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40353:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40353:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40335:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40335:6:136"
                    },
                    "nativeSrc": "40335:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40335:21:136"
                  },
                  "nativeSrc": "40335:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40335:21:136"
                },
                {
                  "nativeSrc": "40365:70:136",
                  "nodeType": "YulAssignment",
                  "src": "40365:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "40400:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "40400:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "40408:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "40408:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40420:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40420:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40431:2:136",
                            "nodeType": "YulLiteral",
                            "src": "40431:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40416:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40416:3:136"
                        },
                        "nativeSrc": "40416:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40416:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "40373:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "40373:26:136"
                    },
                    "nativeSrc": "40373:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40373:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "40365:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "40365:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40455:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40455:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40466:2:136",
                            "nodeType": "YulLiteral",
                            "src": "40466:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40451:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40451:3:136"
                        },
                        "nativeSrc": "40451:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40451:18:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "40471:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "40471:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40444:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40444:6:136"
                    },
                    "nativeSrc": "40444:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40444:34:136"
                  },
                  "nativeSrc": "40444:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40444:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_bytes32__to_t_string_memory_ptr_t_bytes32__fromStack_library_reversed",
            "nativeSrc": "40158:326:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40278:9:136",
                "nodeType": "YulTypedName",
                "src": "40278:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "40289:6:136",
                "nodeType": "YulTypedName",
                "src": "40289:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "40297:6:136",
                "nodeType": "YulTypedName",
                "src": "40297:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "40305:6:136",
                "nodeType": "YulTypedName",
                "src": "40305:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "40316:4:136",
                "nodeType": "YulTypedName",
                "src": "40316:4:136",
                "type": ""
              }
            ],
            "src": "40158:326:136"
          },
          {
            "body": {
              "nativeSrc": "40628:116:136",
              "nodeType": "YulBlock",
              "src": "40628:116:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40645:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "40645:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40656:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40656:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40638:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40638:6:136"
                    },
                    "nativeSrc": "40638:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40638:21:136"
                  },
                  "nativeSrc": "40638:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40638:21:136"
                },
                {
                  "nativeSrc": "40668:70:136",
                  "nodeType": "YulAssignment",
                  "src": "40668:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "40703:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "40703:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "40711:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "40711:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40723:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40723:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40734:2:136",
                            "nodeType": "YulLiteral",
                            "src": "40734:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40719:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40719:3:136"
                        },
                        "nativeSrc": "40719:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40719:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "40676:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "40676:26:136"
                    },
                    "nativeSrc": "40676:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40676:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "40668:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "40668:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "40489:255:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40589:9:136",
                "nodeType": "YulTypedName",
                "src": "40589:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "40600:6:136",
                "nodeType": "YulTypedName",
                "src": "40600:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "40608:6:136",
                "nodeType": "YulTypedName",
                "src": "40608:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "40619:4:136",
                "nodeType": "YulTypedName",
                "src": "40619:4:136",
                "type": ""
              }
            ],
            "src": "40489:255:136"
          },
          {
            "body": {
              "nativeSrc": "40781:95:136",
              "nodeType": "YulBlock",
              "src": "40781:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "40798:1:136",
                        "nodeType": "YulLiteral",
                        "src": "40798:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "40805:3:136",
                            "nodeType": "YulLiteral",
                            "src": "40805:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40810:10:136",
                            "nodeType": "YulLiteral",
                            "src": "40810:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "40801:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40801:3:136"
                        },
                        "nativeSrc": "40801:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40801:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40791:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40791:6:136"
                    },
                    "nativeSrc": "40791:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40791:31:136"
                  },
                  "nativeSrc": "40791:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40791:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "40838:1:136",
                        "nodeType": "YulLiteral",
                        "src": "40838:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40841:4:136",
                        "nodeType": "YulLiteral",
                        "src": "40841:4:136",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40831:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40831:6:136"
                    },
                    "nativeSrc": "40831:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40831:15:136"
                  },
                  "nativeSrc": "40831:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40831:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "40862:1:136",
                        "nodeType": "YulLiteral",
                        "src": "40862:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40865:4:136",
                        "nodeType": "YulLiteral",
                        "src": "40865:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "40855:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40855:6:136"
                    },
                    "nativeSrc": "40855:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40855:15:136"
                  },
                  "nativeSrc": "40855:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40855:15:136"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "40749:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "40749:127:136"
          },
          {
            "body": {
              "nativeSrc": "41074:248:136",
              "nodeType": "YulBlock",
              "src": "41074:248:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41091:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "41091:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41102:2:136",
                        "nodeType": "YulLiteral",
                        "src": "41102:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41084:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41084:6:136"
                    },
                    "nativeSrc": "41084:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41084:21:136"
                  },
                  "nativeSrc": "41084:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41084:21:136"
                },
                {
                  "nativeSrc": "41114:76:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41114:76:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "41155:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41155:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "41163:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41163:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41175:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41175:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41186:2:136",
                            "nodeType": "YulLiteral",
                            "src": "41186:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41171:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41171:3:136"
                        },
                        "nativeSrc": "41171:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41171:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "41128:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "41128:26:136"
                    },
                    "nativeSrc": "41128:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41128:62:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "41118:6:136",
                      "nodeType": "YulTypedName",
                      "src": "41118:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41210:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41210:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41221:2:136",
                            "nodeType": "YulLiteral",
                            "src": "41221:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41206:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41206:3:136"
                        },
                        "nativeSrc": "41206:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41206:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "41230:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "41230:6:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "41238:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41238:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "41226:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41226:3:136"
                        },
                        "nativeSrc": "41226:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41226:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41199:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41199:6:136"
                    },
                    "nativeSrc": "41199:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41199:50:136"
                  },
                  "nativeSrc": "41199:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41199:50:136"
                },
                {
                  "nativeSrc": "41258:58:136",
                  "nodeType": "YulAssignment",
                  "src": "41258:58:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "41293:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41293:6:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41301:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41301:6:136"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "41309:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41309:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "41266:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "41266:26:136"
                    },
                    "nativeSrc": "41266:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41266:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41258:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "41258:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_calldata_ptr_t_bytes_calldata_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "40881:441:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41019:9:136",
                "nodeType": "YulTypedName",
                "src": "41019:9:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "41030:6:136",
                "nodeType": "YulTypedName",
                "src": "41030:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "41038:6:136",
                "nodeType": "YulTypedName",
                "src": "41038:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41046:6:136",
                "nodeType": "YulTypedName",
                "src": "41046:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41054:6:136",
                "nodeType": "YulTypedName",
                "src": "41054:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41065:4:136",
                "nodeType": "YulTypedName",
                "src": "41065:4:136",
                "type": ""
              }
            ],
            "src": "40881:441:136"
          },
          {
            "body": {
              "nativeSrc": "41408:170:136",
              "nodeType": "YulBlock",
              "src": "41408:170:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "41454:16:136",
                    "nodeType": "YulBlock",
                    "src": "41454:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "41463:1:136",
                              "nodeType": "YulLiteral",
                              "src": "41463:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "41466:1:136",
                              "nodeType": "YulLiteral",
                              "src": "41466:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "41456:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "41456:6:136"
                          },
                          "nativeSrc": "41456:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "41456:12:136"
                        },
                        "nativeSrc": "41456:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "41456:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "41429:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "41429:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "41438:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41438:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "41425:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41425:3:136"
                        },
                        "nativeSrc": "41425:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41425:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41450:2:136",
                        "nodeType": "YulLiteral",
                        "src": "41450:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "41421:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "41421:3:136"
                    },
                    "nativeSrc": "41421:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41421:32:136"
                  },
                  "nativeSrc": "41418:52:136",
                  "nodeType": "YulIf",
                  "src": "41418:52:136"
                },
                {
                  "nativeSrc": "41479:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41479:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41498:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "41498:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "41492:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "41492:5:136"
                    },
                    "nativeSrc": "41492:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41492:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "41483:5:136",
                      "nodeType": "YulTypedName",
                      "src": "41483:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "41542:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "41542:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "41517:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "41517:24:136"
                    },
                    "nativeSrc": "41517:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41517:31:136"
                  },
                  "nativeSrc": "41517:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41517:31:136"
                },
                {
                  "nativeSrc": "41557:15:136",
                  "nodeType": "YulAssignment",
                  "src": "41557:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "41567:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "41567:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "41557:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41557:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_fromMemory",
            "nativeSrc": "41327:251:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41374:9:136",
                "nodeType": "YulTypedName",
                "src": "41374:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "41385:7:136",
                "nodeType": "YulTypedName",
                "src": "41385:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "41397:6:136",
                "nodeType": "YulTypedName",
                "src": "41397:6:136",
                "type": ""
              }
            ],
            "src": "41327:251:136"
          },
          {
            "body": {
              "nativeSrc": "41768:228:136",
              "nodeType": "YulBlock",
              "src": "41768:228:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41785:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "41785:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "41800:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "41800:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "41816:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "41816:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "41821:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "41821:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "41812:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "41812:3:136"
                                },
                                "nativeSrc": "41812:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "41812:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "41825:1:136",
                                "nodeType": "YulLiteral",
                                "src": "41825:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "41808:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "41808:3:136"
                            },
                            "nativeSrc": "41808:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "41808:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41796:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41796:3:136"
                        },
                        "nativeSrc": "41796:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41796:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41778:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41778:6:136"
                    },
                    "nativeSrc": "41778:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41778:51:136"
                  },
                  "nativeSrc": "41778:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41778:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41849:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41849:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41860:2:136",
                            "nodeType": "YulLiteral",
                            "src": "41860:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41845:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41845:3:136"
                        },
                        "nativeSrc": "41845:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41845:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "41865:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41865:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41838:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41838:6:136"
                    },
                    "nativeSrc": "41838:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41838:34:136"
                  },
                  "nativeSrc": "41838:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41838:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41892:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41892:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41903:2:136",
                            "nodeType": "YulLiteral",
                            "src": "41903:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41888:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41888:3:136"
                        },
                        "nativeSrc": "41888:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41888:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41908:2:136",
                        "nodeType": "YulLiteral",
                        "src": "41908:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41881:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41881:6:136"
                    },
                    "nativeSrc": "41881:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41881:30:136"
                  },
                  "nativeSrc": "41881:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41881:30:136"
                },
                {
                  "nativeSrc": "41920:70:136",
                  "nodeType": "YulAssignment",
                  "src": "41920:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "41955:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41955:6:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41963:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41963:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41975:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41975:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41986:2:136",
                            "nodeType": "YulLiteral",
                            "src": "41986:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41971:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41971:3:136"
                        },
                        "nativeSrc": "41971:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41971:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "41928:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "41928:26:136"
                    },
                    "nativeSrc": "41928:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41928:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41920:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "41920:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_bytes32_t_bytes_calldata_ptr__to_t_address_t_bytes32_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "41583:413:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41713:9:136",
                "nodeType": "YulTypedName",
                "src": "41713:9:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "41724:6:136",
                "nodeType": "YulTypedName",
                "src": "41724:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "41732:6:136",
                "nodeType": "YulTypedName",
                "src": "41732:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41740:6:136",
                "nodeType": "YulTypedName",
                "src": "41740:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41748:6:136",
                "nodeType": "YulTypedName",
                "src": "41748:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41759:4:136",
                "nodeType": "YulTypedName",
                "src": "41759:4:136",
                "type": ""
              }
            ],
            "src": "41583:413:136"
          },
          {
            "body": {
              "nativeSrc": "42045:85:136",
              "nodeType": "YulBlock",
              "src": "42045:85:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "42108:16:136",
                    "nodeType": "YulBlock",
                    "src": "42108:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "42117:1:136",
                              "nodeType": "YulLiteral",
                              "src": "42117:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "42120:1:136",
                              "nodeType": "YulLiteral",
                              "src": "42120:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "42110:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42110:6:136"
                          },
                          "nativeSrc": "42110:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "42110:12:136"
                        },
                        "nativeSrc": "42110:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "42110:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "42068:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "42068:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "42079:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "42079:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "42086:18:136",
                                "nodeType": "YulLiteral",
                                "src": "42086:18:136",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "42075:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "42075:3:136"
                            },
                            "nativeSrc": "42075:30:136",
                            "nodeType": "YulFunctionCall",
                            "src": "42075:30:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "42065:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "42065:2:136"
                        },
                        "nativeSrc": "42065:41:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42065:41:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "42058:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42058:6:136"
                    },
                    "nativeSrc": "42058:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42058:49:136"
                  },
                  "nativeSrc": "42055:69:136",
                  "nodeType": "YulIf",
                  "src": "42055:69:136"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "42001:129:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "42034:5:136",
                "nodeType": "YulTypedName",
                "src": "42034:5:136",
                "type": ""
              }
            ],
            "src": "42001:129:136"
          },
          {
            "body": {
              "nativeSrc": "42234:454:136",
              "nodeType": "YulBlock",
              "src": "42234:454:136",
              "statements": [
                {
                  "nativeSrc": "42244:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42244:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "42262:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "42262:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "42271:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42271:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "42258:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42258:3:136"
                        },
                        "nativeSrc": "42258:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42258:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42283:2:136",
                        "nodeType": "YulLiteral",
                        "src": "42283:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "42254:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "42254:3:136"
                    },
                    "nativeSrc": "42254:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42254:32:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "42248:2:136",
                      "nodeType": "YulTypedName",
                      "src": "42248:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42301:16:136",
                    "nodeType": "YulBlock",
                    "src": "42301:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "42310:1:136",
                              "nodeType": "YulLiteral",
                              "src": "42310:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "42313:1:136",
                              "nodeType": "YulLiteral",
                              "src": "42313:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "42303:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42303:6:136"
                          },
                          "nativeSrc": "42303:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "42303:12:136"
                        },
                        "nativeSrc": "42303:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "42303:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "42298:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "42298:2:136"
                  },
                  "nativeSrc": "42295:22:136",
                  "nodeType": "YulIf",
                  "src": "42295:22:136"
                },
                {
                  "nativeSrc": "42326:7:136",
                  "nodeType": "YulAssignment",
                  "src": "42326:7:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42332:1:136",
                    "nodeType": "YulLiteral",
                    "src": "42332:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "42326:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "42326:2:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "42342:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42342:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "42362:2:136",
                        "nodeType": "YulLiteral",
                        "src": "42362:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42356:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "42356:5:136"
                    },
                    "nativeSrc": "42356:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42356:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "42346:6:136",
                      "nodeType": "YulTypedName",
                      "src": "42346:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "42399:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "42399:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_7567",
                      "nativeSrc": "42374:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "42374:24:136"
                    },
                    "nativeSrc": "42374:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42374:32:136"
                  },
                  "nativeSrc": "42374:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42374:32:136"
                },
                {
                  "nativeSrc": "42415:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42415:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42441:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "42441:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "42428:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "42428:12:136"
                    },
                    "nativeSrc": "42428:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42428:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "42419:5:136",
                      "nodeType": "YulTypedName",
                      "src": "42419:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "42483:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "42483:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "42460:22:136",
                      "nodeType": "YulIdentifier",
                      "src": "42460:22:136"
                    },
                    "nativeSrc": "42460:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42460:29:136"
                  },
                  "nativeSrc": "42460:29:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42460:29:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "42505:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "42505:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "42513:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "42513:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42498:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42498:6:136"
                    },
                    "nativeSrc": "42498:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42498:21:136"
                  },
                  "nativeSrc": "42498:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42498:21:136"
                },
                {
                  "nativeSrc": "42528:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42528:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42560:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42560:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42571:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42571:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42556:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42556:3:136"
                        },
                        "nativeSrc": "42556:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42556:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "42543:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "42543:12:136"
                    },
                    "nativeSrc": "42543:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42543:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "42532:7:136",
                      "nodeType": "YulTypedName",
                      "src": "42532:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "42608:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42608:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "42584:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "42584:23:136"
                    },
                    "nativeSrc": "42584:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42584:32:136"
                  },
                  "nativeSrc": "42584:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42584:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "42636:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42636:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42644:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42644:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42632:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42632:3:136"
                        },
                        "nativeSrc": "42632:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42632:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "42649:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42649:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42625:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42625:6:136"
                    },
                    "nativeSrc": "42625:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42625:32:136"
                  },
                  "nativeSrc": "42625:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42625:32:136"
                },
                {
                  "nativeSrc": "42666:16:136",
                  "nodeType": "YulAssignment",
                  "src": "42666:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "42676:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "42676:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "42666:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42666:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonSLAv2_$29146_memory_ptr",
            "nativeSrc": "42135:553:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "42200:9:136",
                "nodeType": "YulTypedName",
                "src": "42200:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "42211:7:136",
                "nodeType": "YulTypedName",
                "src": "42211:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "42223:6:136",
                "nodeType": "YulTypedName",
                "src": "42223:6:136",
                "type": ""
              }
            ],
            "src": "42135:553:136"
          },
          {
            "body": {
              "nativeSrc": "42805:149:136",
              "nodeType": "YulBlock",
              "src": "42805:149:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "42851:16:136",
                    "nodeType": "YulBlock",
                    "src": "42851:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "42860:1:136",
                              "nodeType": "YulLiteral",
                              "src": "42860:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "42863:1:136",
                              "nodeType": "YulLiteral",
                              "src": "42863:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "42853:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42853:6:136"
                          },
                          "nativeSrc": "42853:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "42853:12:136"
                        },
                        "nativeSrc": "42853:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "42853:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "42826:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "42826:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "42835:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42835:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "42822:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42822:3:136"
                        },
                        "nativeSrc": "42822:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42822:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42847:2:136",
                        "nodeType": "YulLiteral",
                        "src": "42847:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "42818:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "42818:3:136"
                    },
                    "nativeSrc": "42818:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42818:32:136"
                  },
                  "nativeSrc": "42815:52:136",
                  "nodeType": "YulIf",
                  "src": "42815:52:136"
                },
                {
                  "nativeSrc": "42876:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42876:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42889:1:136",
                    "nodeType": "YulLiteral",
                    "src": "42889:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "42880:5:136",
                      "nodeType": "YulTypedName",
                      "src": "42880:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42899:25:136",
                  "nodeType": "YulAssignment",
                  "src": "42899:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42914:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "42914:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42908:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "42908:5:136"
                    },
                    "nativeSrc": "42908:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42908:16:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "42899:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "42899:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "42933:15:136",
                  "nodeType": "YulAssignment",
                  "src": "42933:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "42943:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "42943:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "42933:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42933:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_RadonHash_$37153_fromMemory",
            "nativeSrc": "42693:261:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "42771:9:136",
                "nodeType": "YulTypedName",
                "src": "42771:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "42782:7:136",
                "nodeType": "YulTypedName",
                "src": "42782:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "42794:6:136",
                "nodeType": "YulTypedName",
                "src": "42794:6:136",
                "type": ""
              }
            ],
            "src": "42693:261:136"
          },
          {
            "body": {
              "nativeSrc": "43123:172:136",
              "nodeType": "YulBlock",
              "src": "43123:172:136",
              "statements": [
                {
                  "nativeSrc": "43133:26:136",
                  "nodeType": "YulAssignment",
                  "src": "43133:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43145:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "43145:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43156:2:136",
                        "nodeType": "YulLiteral",
                        "src": "43156:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43141:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "43141:3:136"
                    },
                    "nativeSrc": "43141:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43141:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43133:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "43133:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43175:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "43175:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "43190:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "43190:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43206:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43206:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43211:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43211:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "43202:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43202:3:136"
                                },
                                "nativeSrc": "43202:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43202:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "43215:1:136",
                                "nodeType": "YulLiteral",
                                "src": "43215:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "43198:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "43198:3:136"
                            },
                            "nativeSrc": "43198:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43198:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43186:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43186:3:136"
                        },
                        "nativeSrc": "43186:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43186:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43168:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43168:6:136"
                    },
                    "nativeSrc": "43168:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43168:51:136"
                  },
                  "nativeSrc": "43168:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43168:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43239:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "43239:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43250:2:136",
                            "nodeType": "YulLiteral",
                            "src": "43250:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43235:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43235:3:136"
                        },
                        "nativeSrc": "43235:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43235:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "43259:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "43259:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "43271:3:136",
                                "nodeType": "YulLiteral",
                                "src": "43271:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "43276:10:136",
                                "nodeType": "YulLiteral",
                                "src": "43276:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "43267:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "43267:3:136"
                            },
                            "nativeSrc": "43267:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43267:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43255:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43255:3:136"
                        },
                        "nativeSrc": "43255:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43255:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43228:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43228:6:136"
                    },
                    "nativeSrc": "43228:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43228:61:136"
                  },
                  "nativeSrc": "43228:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43228:61:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IWitOracleQueriable_$26795_t_bytes4__to_t_address_t_bytes4__fromStack_library_reversed",
            "nativeSrc": "42959:336:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43084:9:136",
                "nodeType": "YulTypedName",
                "src": "43084:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "43095:6:136",
                "nodeType": "YulTypedName",
                "src": "43095:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "43103:6:136",
                "nodeType": "YulTypedName",
                "src": "43103:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "43114:4:136",
                "nodeType": "YulTypedName",
                "src": "43114:4:136",
                "type": ""
              }
            ],
            "src": "42959:336:136"
          },
          {
            "body": {
              "nativeSrc": "43405:694:136",
              "nodeType": "YulBlock",
              "src": "43405:694:136",
              "statements": [
                {
                  "nativeSrc": "43415:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43415:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "43433:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "43433:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "43442:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "43442:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "43429:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43429:3:136"
                        },
                        "nativeSrc": "43429:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43429:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43454:3:136",
                        "nodeType": "YulLiteral",
                        "src": "43454:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "43425:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "43425:3:136"
                    },
                    "nativeSrc": "43425:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43425:33:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "43419:2:136",
                      "nodeType": "YulTypedName",
                      "src": "43419:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "43473:16:136",
                    "nodeType": "YulBlock",
                    "src": "43473:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "43482:1:136",
                              "nodeType": "YulLiteral",
                              "src": "43482:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "43485:1:136",
                              "nodeType": "YulLiteral",
                              "src": "43485:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "43475:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "43475:6:136"
                          },
                          "nativeSrc": "43475:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "43475:12:136"
                        },
                        "nativeSrc": "43475:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "43475:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "43470:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "43470:2:136"
                  },
                  "nativeSrc": "43467:22:136",
                  "nodeType": "YulIf",
                  "src": "43467:22:136"
                },
                {
                  "nativeSrc": "43498:7:136",
                  "nodeType": "YulAssignment",
                  "src": "43498:7:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "43504:1:136",
                    "nodeType": "YulLiteral",
                    "src": "43504:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "43498:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "43498:2:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "43514:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43514:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "43534:2:136",
                        "nodeType": "YulLiteral",
                        "src": "43534:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43528:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "43528:5:136"
                    },
                    "nativeSrc": "43528:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43528:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "43518:6:136",
                      "nodeType": "YulTypedName",
                      "src": "43518:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "43571:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "43571:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_7569",
                      "nativeSrc": "43546:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "43546:24:136"
                    },
                    "nativeSrc": "43546:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43546:32:136"
                  },
                  "nativeSrc": "43546:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43546:32:136"
                },
                {
                  "nativeSrc": "43587:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43587:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43606:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "43606:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43600:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "43600:5:136"
                    },
                    "nativeSrc": "43600:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43600:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "43591:5:136",
                      "nodeType": "YulTypedName",
                      "src": "43591:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "43649:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "43649:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "43625:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "43625:23:136"
                    },
                    "nativeSrc": "43625:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43625:30:136"
                  },
                  "nativeSrc": "43625:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43625:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "43671:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "43671:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "43679:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "43679:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43664:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43664:6:136"
                    },
                    "nativeSrc": "43664:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43664:21:136"
                  },
                  "nativeSrc": "43664:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43664:21:136"
                },
                {
                  "nativeSrc": "43694:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43694:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43719:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "43719:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43730:2:136",
                            "nodeType": "YulLiteral",
                            "src": "43730:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43715:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43715:3:136"
                        },
                        "nativeSrc": "43715:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43715:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43709:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "43709:5:136"
                    },
                    "nativeSrc": "43709:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43709:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "43698:7:136",
                      "nodeType": "YulTypedName",
                      "src": "43698:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "43767:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "43767:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "43743:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "43743:23:136"
                    },
                    "nativeSrc": "43743:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43743:32:136"
                  },
                  "nativeSrc": "43743:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43743:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "43795:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "43795:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43803:2:136",
                            "nodeType": "YulLiteral",
                            "src": "43803:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43791:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43791:3:136"
                        },
                        "nativeSrc": "43791:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43791:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "43808:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "43808:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43784:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43784:6:136"
                    },
                    "nativeSrc": "43784:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43784:32:136"
                  },
                  "nativeSrc": "43784:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43784:32:136"
                },
                {
                  "nativeSrc": "43825:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43825:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "43840:1:136",
                    "nodeType": "YulLiteral",
                    "src": "43840:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "43829:7:136",
                      "nodeType": "YulTypedName",
                      "src": "43829:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "43850:36:136",
                  "nodeType": "YulAssignment",
                  "src": "43850:36:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43871:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "43871:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43882:2:136",
                            "nodeType": "YulLiteral",
                            "src": "43882:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43867:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43867:3:136"
                        },
                        "nativeSrc": "43867:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43867:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43861:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "43861:5:136"
                    },
                    "nativeSrc": "43861:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43861:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_2",
                      "nativeSrc": "43850:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "43850:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "43906:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "43906:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43914:2:136",
                            "nodeType": "YulLiteral",
                            "src": "43914:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43902:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43902:3:136"
                        },
                        "nativeSrc": "43902:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43902:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "43919:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "43919:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43895:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43895:6:136"
                    },
                    "nativeSrc": "43895:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43895:32:136"
                  },
                  "nativeSrc": "43895:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43895:32:136"
                },
                {
                  "nativeSrc": "43936:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43936:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43961:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "43961:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43972:2:136",
                            "nodeType": "YulLiteral",
                            "src": "43972:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43957:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43957:3:136"
                        },
                        "nativeSrc": "43957:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43957:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43951:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "43951:5:136"
                    },
                    "nativeSrc": "43951:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43951:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "43940:7:136",
                      "nodeType": "YulTypedName",
                      "src": "43940:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44011:16:136",
                    "nodeType": "YulBlock",
                    "src": "44011:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44020:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44020:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44023:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44023:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "44013:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44013:6:136"
                          },
                          "nativeSrc": "44013:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44013:12:136"
                        },
                        "nativeSrc": "44013:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "44013:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_3",
                            "nativeSrc": "43998:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "43998:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44007:1:136",
                            "nodeType": "YulLiteral",
                            "src": "44007:1:136",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "43995:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "43995:2:136"
                        },
                        "nativeSrc": "43995:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43995:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "43988:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43988:6:136"
                    },
                    "nativeSrc": "43988:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43988:22:136"
                  },
                  "nativeSrc": "43985:42:136",
                  "nodeType": "YulIf",
                  "src": "43985:42:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "44047:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44047:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44055:2:136",
                            "nodeType": "YulLiteral",
                            "src": "44055:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44043:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "44043:3:136"
                        },
                        "nativeSrc": "44043:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44043:15:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "44060:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "44060:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44036:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "44036:6:136"
                    },
                    "nativeSrc": "44036:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44036:32:136"
                  },
                  "nativeSrc": "44036:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44036:32:136"
                },
                {
                  "nativeSrc": "44077:16:136",
                  "nodeType": "YulAssignment",
                  "src": "44077:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "44087:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "44087:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "44077:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "44077:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Price_$29489_memory_ptr_fromMemory",
            "nativeSrc": "43300:799:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43371:9:136",
                "nodeType": "YulTypedName",
                "src": "43371:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "43382:7:136",
                "nodeType": "YulTypedName",
                "src": "43382:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "43394:6:136",
                "nodeType": "YulTypedName",
                "src": "43394:6:136",
                "type": ""
              }
            ],
            "src": "43300:799:136"
          },
          {
            "body": {
              "nativeSrc": "44159:325:136",
              "nodeType": "YulBlock",
              "src": "44159:325:136",
              "statements": [
                {
                  "nativeSrc": "44169:22:136",
                  "nodeType": "YulAssignment",
                  "src": "44169:22:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "44183:1:136",
                        "nodeType": "YulLiteral",
                        "src": "44183:1:136",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "44186:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44186:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "44179:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "44179:3:136"
                    },
                    "nativeSrc": "44179:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44179:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "44169:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "44169:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "44200:38:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44200:38:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "44230:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44230:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44236:1:136",
                        "nodeType": "YulLiteral",
                        "src": "44236:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "44226:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "44226:3:136"
                    },
                    "nativeSrc": "44226:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44226:12:136"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "44204:18:136",
                      "nodeType": "YulTypedName",
                      "src": "44204:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44277:31:136",
                    "nodeType": "YulBlock",
                    "src": "44277:31:136",
                    "statements": [
                      {
                        "nativeSrc": "44279:27:136",
                        "nodeType": "YulAssignment",
                        "src": "44279:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "44293:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "44293:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44301:4:136",
                              "nodeType": "YulLiteral",
                              "src": "44301:4:136",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "44289:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "44289:3:136"
                          },
                          "nativeSrc": "44289:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44289:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "44279:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44279:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "44257:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "44257:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "44250:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "44250:6:136"
                    },
                    "nativeSrc": "44250:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44250:26:136"
                  },
                  "nativeSrc": "44247:61:136",
                  "nodeType": "YulIf",
                  "src": "44247:61:136"
                },
                {
                  "body": {
                    "nativeSrc": "44367:111:136",
                    "nodeType": "YulBlock",
                    "src": "44367:111:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44388:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44388:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "44395:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "44395:3:136",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "44400:10:136",
                                  "nodeType": "YulLiteral",
                                  "src": "44400:10:136",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "44391:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "44391:3:136"
                              },
                              "nativeSrc": "44391:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "44391:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "44381:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44381:6:136"
                          },
                          "nativeSrc": "44381:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44381:31:136"
                        },
                        "nativeSrc": "44381:31:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "44381:31:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44432:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44432:1:136",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44435:4:136",
                              "nodeType": "YulLiteral",
                              "src": "44435:4:136",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "44425:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44425:6:136"
                          },
                          "nativeSrc": "44425:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44425:15:136"
                        },
                        "nativeSrc": "44425:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "44425:15:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44460:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44460:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44463:4:136",
                              "nodeType": "YulLiteral",
                              "src": "44463:4:136",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "44453:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44453:6:136"
                          },
                          "nativeSrc": "44453:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44453:15:136"
                        },
                        "nativeSrc": "44453:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "44453:15:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "44323:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "44323:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "44346:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44346:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44354:2:136",
                            "nodeType": "YulLiteral",
                            "src": "44354:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "44343:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "44343:2:136"
                        },
                        "nativeSrc": "44343:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44343:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "44320:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "44320:2:136"
                    },
                    "nativeSrc": "44320:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44320:38:136"
                  },
                  "nativeSrc": "44317:161:136",
                  "nodeType": "YulIf",
                  "src": "44317:161:136"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "44104:380:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "44139:4:136",
                "nodeType": "YulTypedName",
                "src": "44139:4:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "44148:6:136",
                "nodeType": "YulTypedName",
                "src": "44148:6:136",
                "type": ""
              }
            ],
            "src": "44104:380:136"
          },
          {
            "body": {
              "nativeSrc": "44602:1011:136",
              "nodeType": "YulBlock",
              "src": "44602:1011:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "44648:16:136",
                    "nodeType": "YulBlock",
                    "src": "44648:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44657:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44657:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44660:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44660:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "44650:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44650:6:136"
                          },
                          "nativeSrc": "44650:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44650:12:136"
                        },
                        "nativeSrc": "44650:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "44650:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "44623:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "44623:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "44632:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "44632:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "44619:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "44619:3:136"
                        },
                        "nativeSrc": "44619:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44619:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44644:2:136",
                        "nodeType": "YulLiteral",
                        "src": "44644:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "44615:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "44615:3:136"
                    },
                    "nativeSrc": "44615:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44615:32:136"
                  },
                  "nativeSrc": "44612:52:136",
                  "nodeType": "YulIf",
                  "src": "44612:52:136"
                },
                {
                  "nativeSrc": "44673:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44673:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44693:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "44693:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "44687:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "44687:5:136"
                    },
                    "nativeSrc": "44687:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44687:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "44677:6:136",
                      "nodeType": "YulTypedName",
                      "src": "44677:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44746:16:136",
                    "nodeType": "YulBlock",
                    "src": "44746:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44755:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44755:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44758:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44758:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "44748:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44748:6:136"
                          },
                          "nativeSrc": "44748:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44748:12:136"
                        },
                        "nativeSrc": "44748:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "44748:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "44718:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "44718:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44726:18:136",
                        "nodeType": "YulLiteral",
                        "src": "44726:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44715:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "44715:2:136"
                    },
                    "nativeSrc": "44715:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44715:30:136"
                  },
                  "nativeSrc": "44712:50:136",
                  "nodeType": "YulIf",
                  "src": "44712:50:136"
                },
                {
                  "nativeSrc": "44771:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44771:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44785:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "44785:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "44796:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "44796:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "44781:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "44781:3:136"
                    },
                    "nativeSrc": "44781:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44781:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "44775:2:136",
                      "nodeType": "YulTypedName",
                      "src": "44775:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44843:16:136",
                    "nodeType": "YulBlock",
                    "src": "44843:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44852:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44852:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44855:1:136",
                              "nodeType": "YulLiteral",
                              "src": "44855:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "44845:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44845:6:136"
                          },
                          "nativeSrc": "44845:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44845:12:136"
                        },
                        "nativeSrc": "44845:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "44845:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "44823:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "44823:7:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "44832:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "44832:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "44819:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "44819:3:136"
                        },
                        "nativeSrc": "44819:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44819:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44837:4:136",
                        "nodeType": "YulLiteral",
                        "src": "44837:4:136",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "44815:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "44815:3:136"
                    },
                    "nativeSrc": "44815:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44815:27:136"
                  },
                  "nativeSrc": "44812:47:136",
                  "nodeType": "YulIf",
                  "src": "44812:47:136"
                },
                {
                  "nativeSrc": "44868:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44868:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "44888:2:136",
                        "nodeType": "YulLiteral",
                        "src": "44888:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "44882:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "44882:5:136"
                    },
                    "nativeSrc": "44882:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44882:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "44872:6:136",
                      "nodeType": "YulTypedName",
                      "src": "44872:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "44925:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "44925:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_7582",
                      "nativeSrc": "44900:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "44900:24:136"
                    },
                    "nativeSrc": "44900:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44900:32:136"
                  },
                  "nativeSrc": "44900:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44900:32:136"
                },
                {
                  "nativeSrc": "44941:22:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44941:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "44960:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "44960:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "44954:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "44954:5:136"
                    },
                    "nativeSrc": "44954:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44954:9:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "44945:5:136",
                      "nodeType": "YulTypedName",
                      "src": "44945:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "44997:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "44997:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "44972:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "44972:24:136"
                    },
                    "nativeSrc": "44972:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44972:31:136"
                  },
                  "nativeSrc": "44972:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44972:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "45019:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "45019:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "45027:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "45027:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45012:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45012:6:136"
                    },
                    "nativeSrc": "45012:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45012:21:136"
                  },
                  "nativeSrc": "45012:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45012:21:136"
                },
                {
                  "nativeSrc": "45042:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45042:33:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "45067:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "45067:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45071:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45071:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45063:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45063:3:136"
                        },
                        "nativeSrc": "45063:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45063:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "45057:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "45057:5:136"
                    },
                    "nativeSrc": "45057:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45057:18:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "45046:7:136",
                      "nodeType": "YulTypedName",
                      "src": "45046:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "45108:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "45108:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "45084:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "45084:23:136"
                    },
                    "nativeSrc": "45084:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45084:32:136"
                  },
                  "nativeSrc": "45084:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45084:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "45136:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45136:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45144:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45144:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45132:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45132:3:136"
                        },
                        "nativeSrc": "45132:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45132:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "45149:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "45149:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45125:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45125:6:136"
                    },
                    "nativeSrc": "45125:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45125:32:136"
                  },
                  "nativeSrc": "45125:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45125:32:136"
                },
                {
                  "nativeSrc": "45166:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45166:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "45181:1:136",
                    "nodeType": "YulLiteral",
                    "src": "45181:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "45170:7:136",
                      "nodeType": "YulTypedName",
                      "src": "45170:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "45191:29:136",
                  "nodeType": "YulAssignment",
                  "src": "45191:29:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "45212:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "45212:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45216:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45216:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45208:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45208:3:136"
                        },
                        "nativeSrc": "45208:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45208:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "45202:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "45202:5:136"
                    },
                    "nativeSrc": "45202:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45202:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_2",
                      "nativeSrc": "45191:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "45191:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "45240:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45240:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45248:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45248:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45236:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45236:3:136"
                        },
                        "nativeSrc": "45236:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45236:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "45253:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "45253:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45229:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45229:6:136"
                    },
                    "nativeSrc": "45229:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45229:32:136"
                  },
                  "nativeSrc": "45229:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45229:32:136"
                },
                {
                  "nativeSrc": "45270:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45270:34:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "45296:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "45296:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45300:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45300:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45292:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45292:3:136"
                        },
                        "nativeSrc": "45292:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45292:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "45286:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "45286:5:136"
                    },
                    "nativeSrc": "45286:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45286:18:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "45274:8:136",
                      "nodeType": "YulTypedName",
                      "src": "45274:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "45349:16:136",
                    "nodeType": "YulBlock",
                    "src": "45349:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "45358:1:136",
                              "nodeType": "YulLiteral",
                              "src": "45358:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "45361:1:136",
                              "nodeType": "YulLiteral",
                              "src": "45361:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "45351:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45351:6:136"
                          },
                          "nativeSrc": "45351:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "45351:12:136"
                        },
                        "nativeSrc": "45351:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "45351:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "45319:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "45319:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "45329:18:136",
                        "nodeType": "YulLiteral",
                        "src": "45329:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "45316:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "45316:2:136"
                    },
                    "nativeSrc": "45316:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45316:32:136"
                  },
                  "nativeSrc": "45313:52:136",
                  "nodeType": "YulIf",
                  "src": "45313:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "45385:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45385:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45393:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45393:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45381:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45381:3:136"
                        },
                        "nativeSrc": "45381:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45381:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "45431:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "45431:2:136"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "45435:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "45435:8:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "45427:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "45427:3:136"
                            },
                            "nativeSrc": "45427:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "45427:17:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "45446:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "45446:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "45398:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "45398:28:136"
                        },
                        "nativeSrc": "45398:56:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45398:56:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45374:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45374:6:136"
                    },
                    "nativeSrc": "45374:81:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45374:81:136"
                  },
                  "nativeSrc": "45374:81:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45374:81:136"
                },
                {
                  "nativeSrc": "45464:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45464:34:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "45489:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "45489:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45493:3:136",
                            "nodeType": "YulLiteral",
                            "src": "45493:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45485:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45485:3:136"
                        },
                        "nativeSrc": "45485:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45485:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "45479:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "45479:5:136"
                    },
                    "nativeSrc": "45479:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45479:19:136"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "45468:7:136",
                      "nodeType": "YulTypedName",
                      "src": "45468:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "45532:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "45532:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "45507:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "45507:24:136"
                    },
                    "nativeSrc": "45507:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45507:33:136"
                  },
                  "nativeSrc": "45507:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45507:33:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "45560:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45560:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45568:3:136",
                            "nodeType": "YulLiteral",
                            "src": "45568:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45556:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45556:3:136"
                        },
                        "nativeSrc": "45556:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45556:16:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "45574:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "45574:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45549:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45549:6:136"
                    },
                    "nativeSrc": "45549:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45549:33:136"
                  },
                  "nativeSrc": "45549:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45549:33:136"
                },
                {
                  "nativeSrc": "45591:16:136",
                  "nodeType": "YulAssignment",
                  "src": "45591:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "45601:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "45601:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "45591:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45591:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_QueryResponse_$37365_memory_ptr_fromMemory",
            "nativeSrc": "44489:1124:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "44568:9:136",
                "nodeType": "YulTypedName",
                "src": "44568:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "44579:7:136",
                "nodeType": "YulTypedName",
                "src": "44579:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "44591:6:136",
                "nodeType": "YulTypedName",
                "src": "44591:6:136",
                "type": ""
              }
            ],
            "src": "44489:1124:136"
          },
          {
            "body": {
              "nativeSrc": "45724:179:136",
              "nodeType": "YulBlock",
              "src": "45724:179:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "45770:16:136",
                    "nodeType": "YulBlock",
                    "src": "45770:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "45779:1:136",
                              "nodeType": "YulLiteral",
                              "src": "45779:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "45782:1:136",
                              "nodeType": "YulLiteral",
                              "src": "45782:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "45772:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45772:6:136"
                          },
                          "nativeSrc": "45772:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "45772:12:136"
                        },
                        "nativeSrc": "45772:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "45772:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "45745:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "45745:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "45754:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "45754:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "45741:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45741:3:136"
                        },
                        "nativeSrc": "45741:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45741:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "45766:2:136",
                        "nodeType": "YulLiteral",
                        "src": "45766:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "45737:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "45737:3:136"
                    },
                    "nativeSrc": "45737:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45737:32:136"
                  },
                  "nativeSrc": "45734:52:136",
                  "nodeType": "YulIf",
                  "src": "45734:52:136"
                },
                {
                  "nativeSrc": "45795:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45795:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "45814:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "45814:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "45808:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "45808:5:136"
                    },
                    "nativeSrc": "45808:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45808:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "45799:5:136",
                      "nodeType": "YulTypedName",
                      "src": "45799:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "45857:16:136",
                    "nodeType": "YulBlock",
                    "src": "45857:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "45866:1:136",
                              "nodeType": "YulLiteral",
                              "src": "45866:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "45869:1:136",
                              "nodeType": "YulLiteral",
                              "src": "45869:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "45859:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45859:6:136"
                          },
                          "nativeSrc": "45859:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "45859:12:136"
                        },
                        "nativeSrc": "45859:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "45859:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "45846:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "45846:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45853:1:136",
                            "nodeType": "YulLiteral",
                            "src": "45853:1:136",
                            "type": "",
                            "value": "7"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "45843:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "45843:2:136"
                        },
                        "nativeSrc": "45843:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45843:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "45836:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45836:6:136"
                    },
                    "nativeSrc": "45836:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45836:20:136"
                  },
                  "nativeSrc": "45833:40:136",
                  "nodeType": "YulIf",
                  "src": "45833:40:136"
                },
                {
                  "nativeSrc": "45882:15:136",
                  "nodeType": "YulAssignment",
                  "src": "45882:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "45892:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "45892:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "45882:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45882:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_QueryResponseStatus_$28682_fromMemory",
            "nativeSrc": "45618:285:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "45690:9:136",
                "nodeType": "YulTypedName",
                "src": "45690:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "45701:7:136",
                "nodeType": "YulTypedName",
                "src": "45701:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "45713:6:136",
                "nodeType": "YulTypedName",
                "src": "45713:6:136",
                "type": ""
              }
            ],
            "src": "45618:285:136"
          },
          {
            "body": {
              "nativeSrc": "45976:175:136",
              "nodeType": "YulBlock",
              "src": "45976:175:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "46022:16:136",
                    "nodeType": "YulBlock",
                    "src": "46022:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "46031:1:136",
                              "nodeType": "YulLiteral",
                              "src": "46031:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "46034:1:136",
                              "nodeType": "YulLiteral",
                              "src": "46034:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "46024:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "46024:6:136"
                          },
                          "nativeSrc": "46024:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "46024:12:136"
                        },
                        "nativeSrc": "46024:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "46024:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "45997:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "45997:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "46006:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "46006:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "45993:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45993:3:136"
                        },
                        "nativeSrc": "45993:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45993:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46018:2:136",
                        "nodeType": "YulLiteral",
                        "src": "46018:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "45989:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "45989:3:136"
                    },
                    "nativeSrc": "45989:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45989:32:136"
                  },
                  "nativeSrc": "45986:52:136",
                  "nodeType": "YulIf",
                  "src": "45986:52:136"
                },
                {
                  "nativeSrc": "46047:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46047:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46073:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "46073:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "46060:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "46060:12:136"
                    },
                    "nativeSrc": "46060:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46060:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "46051:5:136",
                      "nodeType": "YulTypedName",
                      "src": "46051:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "46115:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "46115:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "46092:22:136",
                      "nodeType": "YulIdentifier",
                      "src": "46092:22:136"
                    },
                    "nativeSrc": "46092:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46092:29:136"
                  },
                  "nativeSrc": "46092:29:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46092:29:136"
                },
                {
                  "nativeSrc": "46130:15:136",
                  "nodeType": "YulAssignment",
                  "src": "46130:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "46140:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "46140:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "46130:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "46130:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint8",
            "nativeSrc": "45908:243:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "45942:9:136",
                "nodeType": "YulTypedName",
                "src": "45942:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "45953:7:136",
                "nodeType": "YulTypedName",
                "src": "45953:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "45965:6:136",
                "nodeType": "YulTypedName",
                "src": "45965:6:136",
                "type": ""
              }
            ],
            "src": "45908:243:136"
          },
          {
            "body": {
              "nativeSrc": "46225:176:136",
              "nodeType": "YulBlock",
              "src": "46225:176:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "46271:16:136",
                    "nodeType": "YulBlock",
                    "src": "46271:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "46280:1:136",
                              "nodeType": "YulLiteral",
                              "src": "46280:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "46283:1:136",
                              "nodeType": "YulLiteral",
                              "src": "46283:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "46273:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "46273:6:136"
                          },
                          "nativeSrc": "46273:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "46273:12:136"
                        },
                        "nativeSrc": "46273:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "46273:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "46246:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "46246:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "46255:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "46255:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "46242:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46242:3:136"
                        },
                        "nativeSrc": "46242:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46242:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46267:2:136",
                        "nodeType": "YulLiteral",
                        "src": "46267:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "46238:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "46238:3:136"
                    },
                    "nativeSrc": "46238:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46238:32:136"
                  },
                  "nativeSrc": "46235:52:136",
                  "nodeType": "YulIf",
                  "src": "46235:52:136"
                },
                {
                  "nativeSrc": "46296:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46296:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46322:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "46322:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "46309:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "46309:12:136"
                    },
                    "nativeSrc": "46309:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46309:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "46300:5:136",
                      "nodeType": "YulTypedName",
                      "src": "46300:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "46365:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "46365:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "46341:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "46341:23:136"
                    },
                    "nativeSrc": "46341:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46341:30:136"
                  },
                  "nativeSrc": "46341:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46341:30:136"
                },
                {
                  "nativeSrc": "46380:15:136",
                  "nodeType": "YulAssignment",
                  "src": "46380:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "46390:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "46390:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "46380:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "46380:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint64",
            "nativeSrc": "46156:245:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "46191:9:136",
                "nodeType": "YulTypedName",
                "src": "46191:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "46202:7:136",
                "nodeType": "YulTypedName",
                "src": "46202:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "46214:6:136",
                "nodeType": "YulTypedName",
                "src": "46214:6:136",
                "type": ""
              }
            ],
            "src": "46156:245:136"
          },
          {
            "body": {
              "nativeSrc": "46492:592:136",
              "nodeType": "YulBlock",
              "src": "46492:592:136",
              "statements": [
                {
                  "nativeSrc": "46502:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46502:16:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "46515:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "46515:3:136"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "46506:5:136",
                      "nodeType": "YulTypedName",
                      "src": "46506:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "46534:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "46534:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "46539:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "46539:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46527:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "46527:6:136"
                    },
                    "nativeSrc": "46527:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46527:19:136"
                  },
                  "nativeSrc": "46527:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46527:19:136"
                },
                {
                  "nativeSrc": "46555:21:136",
                  "nodeType": "YulAssignment",
                  "src": "46555:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "46566:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "46566:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46571:4:136",
                        "nodeType": "YulLiteral",
                        "src": "46571:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "46562:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "46562:3:136"
                    },
                    "nativeSrc": "46562:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46562:14:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "46555:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "46555:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "46585:49:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46585:49:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "46605:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "46605:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "46616:1:136",
                                "nodeType": "YulLiteral",
                                "src": "46616:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "46619:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "46619:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "46612:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "46612:3:136"
                            },
                            "nativeSrc": "46612:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "46612:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46601:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46601:3:136"
                        },
                        "nativeSrc": "46601:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46601:26:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46629:4:136",
                        "nodeType": "YulLiteral",
                        "src": "46629:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "46597:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "46597:3:136"
                    },
                    "nativeSrc": "46597:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46597:37:136"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "46589:4:136",
                      "nodeType": "YulTypedName",
                      "src": "46589:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "46643:19:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46643:19:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "46657:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "46657:5:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "46647:6:136",
                      "nodeType": "YulTypedName",
                      "src": "46647:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "46671:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46671:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "46680:1:136",
                    "nodeType": "YulLiteral",
                    "src": "46680:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "46675:1:136",
                      "nodeType": "YulTypedName",
                      "src": "46675:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "46739:319:136",
                    "nodeType": "YulBlock",
                    "src": "46739:319:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "46760:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "46760:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail",
                                      "nativeSrc": "46773:4:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "46773:4:136"
                                    },
                                    {
                                      "name": "pos_1",
                                      "nativeSrc": "46779:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "46779:5:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "46769:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "46769:3:136"
                                  },
                                  "nativeSrc": "46769:16:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "46769:16:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "46791:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "46791:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "46787:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "46787:3:136"
                                  },
                                  "nativeSrc": "46787:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "46787:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "46765:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "46765:3:136"
                              },
                              "nativeSrc": "46765:30:136",
                              "nodeType": "YulFunctionCall",
                              "src": "46765:30:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "46753:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "46753:6:136"
                          },
                          "nativeSrc": "46753:43:136",
                          "nodeType": "YulFunctionCall",
                          "src": "46753:43:136"
                        },
                        "nativeSrc": "46753:43:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "46753:43:136"
                      },
                      {
                        "nativeSrc": "46809:82:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "46809:82:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "46877:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "46877:5:136"
                            },
                            {
                              "name": "srcPtr",
                              "nativeSrc": "46884:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "46884:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "calldata_access_string_calldata",
                            "nativeSrc": "46845:31:136",
                            "nodeType": "YulIdentifier",
                            "src": "46845:31:136"
                          },
                          "nativeSrc": "46845:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "46845:46:136"
                        },
                        "variables": [
                          {
                            "name": "elementValue0",
                            "nativeSrc": "46813:13:136",
                            "nodeType": "YulTypedName",
                            "src": "46813:13:136",
                            "type": ""
                          },
                          {
                            "name": "elementValue1",
                            "nativeSrc": "46828:13:136",
                            "nodeType": "YulTypedName",
                            "src": "46828:13:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "46904:70:136",
                        "nodeType": "YulAssignment",
                        "src": "46904:70:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "elementValue0",
                              "nativeSrc": "46939:13:136",
                              "nodeType": "YulIdentifier",
                              "src": "46939:13:136"
                            },
                            {
                              "name": "elementValue1",
                              "nativeSrc": "46954:13:136",
                              "nodeType": "YulIdentifier",
                              "src": "46954:13:136"
                            },
                            {
                              "name": "tail",
                              "nativeSrc": "46969:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "46969:4:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_calldata",
                            "nativeSrc": "46912:26:136",
                            "nodeType": "YulIdentifier",
                            "src": "46912:26:136"
                          },
                          "nativeSrc": "46912:62:136",
                          "nodeType": "YulFunctionCall",
                          "src": "46912:62:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail",
                            "nativeSrc": "46904:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "46904:4:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "46987:27:136",
                        "nodeType": "YulAssignment",
                        "src": "46987:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "47001:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "47001:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "47009:4:136",
                              "nodeType": "YulLiteral",
                              "src": "47009:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "46997:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "46997:3:136"
                          },
                          "nativeSrc": "46997:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "46997:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "46987:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "46987:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "47027:21:136",
                        "nodeType": "YulAssignment",
                        "src": "47027:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "47038:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "47038:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "47043:4:136",
                              "nodeType": "YulLiteral",
                              "src": "47043:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "47034:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "47034:3:136"
                          },
                          "nativeSrc": "47034:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "47034:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "47027:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "47027:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "46701:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "46701:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "46704:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "46704:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "46698:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "46698:2:136"
                    },
                    "nativeSrc": "46698:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46698:13:136"
                  },
                  "nativeSrc": "46690:368:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "46712:18:136",
                    "nodeType": "YulBlock",
                    "src": "46712:18:136",
                    "statements": [
                      {
                        "nativeSrc": "46714:14:136",
                        "nodeType": "YulAssignment",
                        "src": "46714:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "46723:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "46723:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "46726:1:136",
                              "nodeType": "YulLiteral",
                              "src": "46726:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "46719:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "46719:3:136"
                          },
                          "nativeSrc": "46719:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "46719:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "46714:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "46714:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "46694:3:136",
                    "nodeType": "YulBlock",
                    "src": "46694:3:136",
                    "statements": []
                  },
                  "src": "46690:368:136"
                },
                {
                  "nativeSrc": "47067:11:136",
                  "nodeType": "YulAssignment",
                  "src": "47067:11:136",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "47074:4:136",
                    "nodeType": "YulIdentifier",
                    "src": "47074:4:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "47067:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "47067:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_string_calldata_dyn_calldata",
            "nativeSrc": "46406:678:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "46461:5:136",
                "nodeType": "YulTypedName",
                "src": "46461:5:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "46468:6:136",
                "nodeType": "YulTypedName",
                "src": "46468:6:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "46476:3:136",
                "nodeType": "YulTypedName",
                "src": "46476:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "46484:3:136",
                "nodeType": "YulTypedName",
                "src": "46484:3:136",
                "type": ""
              }
            ],
            "src": "46406:678:136"
          },
          {
            "body": {
              "nativeSrc": "47324:1073:136",
              "nodeType": "YulBlock",
              "src": "47324:1073:136",
              "statements": [
                {
                  "nativeSrc": "47334:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47334:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47352:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "47352:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47363:2:136",
                        "nodeType": "YulLiteral",
                        "src": "47363:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47348:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "47348:3:136"
                    },
                    "nativeSrc": "47348:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47348:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "47338:6:136",
                      "nodeType": "YulTypedName",
                      "src": "47338:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47382:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "47382:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47393:2:136",
                        "nodeType": "YulLiteral",
                        "src": "47393:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47375:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47375:6:136"
                    },
                    "nativeSrc": "47375:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47375:21:136"
                  },
                  "nativeSrc": "47375:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47375:21:136"
                },
                {
                  "nativeSrc": "47405:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47405:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "47416:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "47416:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "47409:3:136",
                      "nodeType": "YulTypedName",
                      "src": "47409:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "47438:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "47438:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "47446:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "47446:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47431:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47431:6:136"
                    },
                    "nativeSrc": "47431:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47431:22:136"
                  },
                  "nativeSrc": "47431:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47431:22:136"
                },
                {
                  "nativeSrc": "47462:25:136",
                  "nodeType": "YulAssignment",
                  "src": "47462:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47473:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "47473:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47484:2:136",
                        "nodeType": "YulLiteral",
                        "src": "47484:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47469:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "47469:3:136"
                    },
                    "nativeSrc": "47469:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47469:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "47462:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "47462:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "47496:53:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47496:53:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47518:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "47518:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "47533:1:136",
                                "nodeType": "YulLiteral",
                                "src": "47533:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "value1",
                                "nativeSrc": "47536:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "47536:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "47529:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "47529:3:136"
                            },
                            "nativeSrc": "47529:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "47529:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47514:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47514:3:136"
                        },
                        "nativeSrc": "47514:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47514:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47546:2:136",
                        "nodeType": "YulLiteral",
                        "src": "47546:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47510:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "47510:3:136"
                    },
                    "nativeSrc": "47510:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47510:39:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "47500:6:136",
                      "nodeType": "YulTypedName",
                      "src": "47500:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "47558:20:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47558:20:136",
                  "value": {
                    "name": "value0",
                    "nativeSrc": "47572:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "47572:6:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "47562:6:136",
                      "nodeType": "YulTypedName",
                      "src": "47562:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "47587:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47587:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "47596:1:136",
                    "nodeType": "YulLiteral",
                    "src": "47596:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "47591:1:136",
                      "nodeType": "YulTypedName",
                      "src": "47591:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "47606:51:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47606:51:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "47624:12:136",
                              "nodeType": "YulIdentifier",
                              "src": "47624:12:136"
                            },
                            "nativeSrc": "47624:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "47624:14:136"
                          },
                          {
                            "name": "value0",
                            "nativeSrc": "47640:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "47640:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "47620:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47620:3:136"
                        },
                        "nativeSrc": "47620:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47620:27:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "47653:2:136",
                            "nodeType": "YulLiteral",
                            "src": "47653:2:136",
                            "type": "",
                            "value": "30"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "47649:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47649:3:136"
                        },
                        "nativeSrc": "47649:7:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47649:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47616:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "47616:3:136"
                    },
                    "nativeSrc": "47616:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47616:41:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "47610:2:136",
                      "nodeType": "YulTypedName",
                      "src": "47610:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "47715:653:136",
                    "nodeType": "YulBlock",
                    "src": "47715:653:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "47736:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "47736:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "47749:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "47749:6:136"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "47757:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "47757:9:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "47745:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "47745:3:136"
                                  },
                                  "nativeSrc": "47745:22:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "47745:22:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "47773:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "47773:2:136",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "47769:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "47769:3:136"
                                  },
                                  "nativeSrc": "47769:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "47769:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "47741:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "47741:3:136"
                              },
                              "nativeSrc": "47741:36:136",
                              "nodeType": "YulFunctionCall",
                              "src": "47741:36:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "47729:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "47729:6:136"
                          },
                          "nativeSrc": "47729:49:136",
                          "nodeType": "YulFunctionCall",
                          "src": "47729:49:136"
                        },
                        "nativeSrc": "47729:49:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "47729:49:136"
                      },
                      {
                        "nativeSrc": "47791:46:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "47791:46:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "47830:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "47830:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "47817:12:136",
                            "nodeType": "YulIdentifier",
                            "src": "47817:12:136"
                          },
                          "nativeSrc": "47817:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "47817:20:136"
                        },
                        "variables": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "47795:18:136",
                            "nodeType": "YulTypedName",
                            "src": "47795:18:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "47889:16:136",
                          "nodeType": "YulBlock",
                          "src": "47889:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "47898:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "47898:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "47901:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "47901:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "47891:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "47891:6:136"
                                },
                                "nativeSrc": "47891:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "47891:12:136"
                              },
                              "nativeSrc": "47891:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "47891:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "rel_offset_of_tail",
                                  "nativeSrc": "47864:18:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "47864:18:136"
                                },
                                {
                                  "name": "_1",
                                  "nativeSrc": "47884:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "47884:2:136"
                                }
                              ],
                              "functionName": {
                                "name": "slt",
                                "nativeSrc": "47860:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "47860:3:136"
                              },
                              "nativeSrc": "47860:27:136",
                              "nodeType": "YulFunctionCall",
                              "src": "47860:27:136"
                            }
                          ],
                          "functionName": {
                            "name": "iszero",
                            "nativeSrc": "47853:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "47853:6:136"
                          },
                          "nativeSrc": "47853:35:136",
                          "nodeType": "YulFunctionCall",
                          "src": "47853:35:136"
                        },
                        "nativeSrc": "47850:55:136",
                        "nodeType": "YulIf",
                        "src": "47850:55:136"
                      },
                      {
                        "nativeSrc": "47918:44:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "47918:44:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "rel_offset_of_tail",
                              "nativeSrc": "47935:18:136",
                              "nodeType": "YulIdentifier",
                              "src": "47935:18:136"
                            },
                            {
                              "name": "value0",
                              "nativeSrc": "47955:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "47955:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "47931:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "47931:3:136"
                          },
                          "nativeSrc": "47931:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "47931:31:136"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "47922:5:136",
                            "nodeType": "YulTypedName",
                            "src": "47922:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "47975:33:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "47975:33:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "48002:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "48002:5:136"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "47989:12:136",
                            "nodeType": "YulIdentifier",
                            "src": "47989:12:136"
                          },
                          "nativeSrc": "47989:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "47989:19:136"
                        },
                        "variables": [
                          {
                            "name": "length",
                            "nativeSrc": "47979:6:136",
                            "nodeType": "YulTypedName",
                            "src": "47979:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "48021:29:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "48021:29:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "48040:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "48040:5:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "48047:2:136",
                              "nodeType": "YulLiteral",
                              "src": "48047:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "48036:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "48036:3:136"
                          },
                          "nativeSrc": "48036:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "48036:14:136"
                        },
                        "variables": [
                          {
                            "name": "value_1",
                            "nativeSrc": "48025:7:136",
                            "nodeType": "YulTypedName",
                            "src": "48025:7:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "48097:16:136",
                          "nodeType": "YulBlock",
                          "src": "48097:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "48106:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "48106:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "48109:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "48109:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "48099:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "48099:6:136"
                                },
                                "nativeSrc": "48099:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "48099:12:136"
                              },
                              "nativeSrc": "48099:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "48099:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "48069:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "48069:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "48077:18:136",
                              "nodeType": "YulLiteral",
                              "src": "48077:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "48066:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "48066:2:136"
                          },
                          "nativeSrc": "48066:30:136",
                          "nodeType": "YulFunctionCall",
                          "src": "48066:30:136"
                        },
                        "nativeSrc": "48063:50:136",
                        "nodeType": "YulIf",
                        "src": "48063:50:136"
                      },
                      {
                        "body": {
                          "nativeSrc": "48179:16:136",
                          "nodeType": "YulBlock",
                          "src": "48179:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "48188:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "48188:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "48191:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "48191:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "48181:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "48181:6:136"
                                },
                                "nativeSrc": "48181:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "48181:12:136"
                              },
                              "nativeSrc": "48181:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "48181:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "value_1",
                              "nativeSrc": "48133:7:136",
                              "nodeType": "YulIdentifier",
                              "src": "48133:7:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [],
                                  "functionName": {
                                    "name": "calldatasize",
                                    "nativeSrc": "48146:12:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "48146:12:136"
                                  },
                                  "nativeSrc": "48146:14:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "48146:14:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "48166:1:136",
                                      "nodeType": "YulLiteral",
                                      "src": "48166:1:136",
                                      "type": "",
                                      "value": "5"
                                    },
                                    {
                                      "name": "length",
                                      "nativeSrc": "48169:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "48169:6:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "48162:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "48162:3:136"
                                  },
                                  "nativeSrc": "48162:14:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "48162:14:136"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "48142:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "48142:3:136"
                              },
                              "nativeSrc": "48142:35:136",
                              "nodeType": "YulFunctionCall",
                              "src": "48142:35:136"
                            }
                          ],
                          "functionName": {
                            "name": "sgt",
                            "nativeSrc": "48129:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "48129:3:136"
                          },
                          "nativeSrc": "48129:49:136",
                          "nodeType": "YulFunctionCall",
                          "src": "48129:49:136"
                        },
                        "nativeSrc": "48126:69:136",
                        "nodeType": "YulIf",
                        "src": "48126:69:136"
                      },
                      {
                        "nativeSrc": "48208:80:136",
                        "nodeType": "YulAssignment",
                        "src": "48208:80:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value_1",
                              "nativeSrc": "48264:7:136",
                              "nodeType": "YulIdentifier",
                              "src": "48264:7:136"
                            },
                            {
                              "name": "length",
                              "nativeSrc": "48273:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "48273:6:136"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "48281:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "48281:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_array_string_calldata_dyn_calldata",
                            "nativeSrc": "48218:45:136",
                            "nodeType": "YulIdentifier",
                            "src": "48218:45:136"
                          },
                          "nativeSrc": "48218:70:136",
                          "nodeType": "YulFunctionCall",
                          "src": "48218:70:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "48208:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "48208:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "48301:25:136",
                        "nodeType": "YulAssignment",
                        "src": "48301:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "48315:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "48315:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "48323:2:136",
                              "nodeType": "YulLiteral",
                              "src": "48323:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "48311:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "48311:3:136"
                          },
                          "nativeSrc": "48311:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "48311:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "48301:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "48301:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "48339:19:136",
                        "nodeType": "YulAssignment",
                        "src": "48339:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "48350:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "48350:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "48355:2:136",
                              "nodeType": "YulLiteral",
                              "src": "48355:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "48346:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "48346:3:136"
                          },
                          "nativeSrc": "48346:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "48346:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "48339:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "48339:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "47677:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "47677:1:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "47680:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "47680:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "47674:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "47674:2:136"
                    },
                    "nativeSrc": "47674:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47674:13:136"
                  },
                  "nativeSrc": "47666:702:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "47688:18:136",
                    "nodeType": "YulBlock",
                    "src": "47688:18:136",
                    "statements": [
                      {
                        "nativeSrc": "47690:14:136",
                        "nodeType": "YulAssignment",
                        "src": "47690:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "47699:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "47699:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "47702:1:136",
                              "nodeType": "YulLiteral",
                              "src": "47702:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "47695:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "47695:3:136"
                          },
                          "nativeSrc": "47695:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "47695:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "47690:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "47690:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "47670:3:136",
                    "nodeType": "YulBlock",
                    "src": "47670:3:136",
                    "statements": []
                  },
                  "src": "47666:702:136"
                },
                {
                  "nativeSrc": "48377:14:136",
                  "nodeType": "YulAssignment",
                  "src": "48377:14:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "48385:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "48385:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "48377:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "48377:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "47089:1308:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "47285:9:136",
                "nodeType": "YulTypedName",
                "src": "47285:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "47296:6:136",
                "nodeType": "YulTypedName",
                "src": "47296:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "47304:6:136",
                "nodeType": "YulTypedName",
                "src": "47304:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "47315:4:136",
                "nodeType": "YulTypedName",
                "src": "47315:4:136",
                "type": ""
              }
            ],
            "src": "47089:1308:136"
          },
          {
            "body": {
              "nativeSrc": "48501:181:136",
              "nodeType": "YulBlock",
              "src": "48501:181:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "48547:16:136",
                    "nodeType": "YulBlock",
                    "src": "48547:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "48556:1:136",
                              "nodeType": "YulLiteral",
                              "src": "48556:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "48559:1:136",
                              "nodeType": "YulLiteral",
                              "src": "48559:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "48549:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "48549:6:136"
                          },
                          "nativeSrc": "48549:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "48549:12:136"
                        },
                        "nativeSrc": "48549:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "48549:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "48522:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "48522:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "48531:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "48531:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "48518:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "48518:3:136"
                        },
                        "nativeSrc": "48518:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "48518:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48543:2:136",
                        "nodeType": "YulLiteral",
                        "src": "48543:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "48514:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "48514:3:136"
                    },
                    "nativeSrc": "48514:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48514:32:136"
                  },
                  "nativeSrc": "48511:52:136",
                  "nodeType": "YulIf",
                  "src": "48511:52:136"
                },
                {
                  "nativeSrc": "48572:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "48572:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "48591:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "48591:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "48585:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "48585:5:136"
                    },
                    "nativeSrc": "48585:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48585:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "48576:5:136",
                      "nodeType": "YulTypedName",
                      "src": "48576:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "48636:16:136",
                    "nodeType": "YulBlock",
                    "src": "48636:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "48645:1:136",
                              "nodeType": "YulLiteral",
                              "src": "48645:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "48648:1:136",
                              "nodeType": "YulLiteral",
                              "src": "48648:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "48638:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "48638:6:136"
                          },
                          "nativeSrc": "48638:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "48638:12:136"
                        },
                        "nativeSrc": "48638:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "48638:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "48623:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "48623:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48630:3:136",
                            "nodeType": "YulLiteral",
                            "src": "48630:3:136",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "48620:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "48620:2:136"
                        },
                        "nativeSrc": "48620:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "48620:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "48613:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48613:6:136"
                    },
                    "nativeSrc": "48613:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48613:22:136"
                  },
                  "nativeSrc": "48610:42:136",
                  "nodeType": "YulIf",
                  "src": "48610:42:136"
                },
                {
                  "nativeSrc": "48661:15:136",
                  "nodeType": "YulAssignment",
                  "src": "48661:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "48671:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "48671:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "48661:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48661:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_ResultStatus_$37698_fromMemory",
            "nativeSrc": "48402:280:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "48467:9:136",
                "nodeType": "YulTypedName",
                "src": "48467:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "48478:7:136",
                "nodeType": "YulTypedName",
                "src": "48478:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "48490:6:136",
                "nodeType": "YulTypedName",
                "src": "48490:6:136",
                "type": ""
              }
            ],
            "src": "48402:280:136"
          },
          {
            "body": {
              "nativeSrc": "48961:437:136",
              "nodeType": "YulBlock",
              "src": "48961:437:136",
              "statements": [
                {
                  "nativeSrc": "48971:27:136",
                  "nodeType": "YulAssignment",
                  "src": "48971:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "48983:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "48983:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48994:3:136",
                        "nodeType": "YulLiteral",
                        "src": "48994:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "48979:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "48979:3:136"
                    },
                    "nativeSrc": "48979:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48979:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "48971:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "48971:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "49014:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "49014:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "49029:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "49029:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "49045:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "49045:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "49050:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "49050:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "49041:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "49041:3:136"
                                },
                                "nativeSrc": "49041:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "49041:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "49054:1:136",
                                "nodeType": "YulLiteral",
                                "src": "49054:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "49037:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "49037:3:136"
                            },
                            "nativeSrc": "49037:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "49037:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "49025:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49025:3:136"
                        },
                        "nativeSrc": "49025:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49025:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49007:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49007:6:136"
                    },
                    "nativeSrc": "49007:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49007:51:136"
                  },
                  "nativeSrc": "49007:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49007:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49078:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49078:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49089:2:136",
                            "nodeType": "YulLiteral",
                            "src": "49089:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49074:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49074:3:136"
                        },
                        "nativeSrc": "49074:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49074:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "49098:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "49098:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "49110:3:136",
                                "nodeType": "YulLiteral",
                                "src": "49110:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "49115:10:136",
                                "nodeType": "YulLiteral",
                                "src": "49115:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "49106:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "49106:3:136"
                            },
                            "nativeSrc": "49106:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "49106:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "49094:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49094:3:136"
                        },
                        "nativeSrc": "49094:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49094:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49067:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49067:6:136"
                    },
                    "nativeSrc": "49067:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49067:61:136"
                  },
                  "nativeSrc": "49067:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49067:61:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49148:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49148:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49159:2:136",
                            "nodeType": "YulLiteral",
                            "src": "49159:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49144:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49144:3:136"
                        },
                        "nativeSrc": "49144:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49144:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value2",
                                "nativeSrc": "49174:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "49174:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "49168:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "49168:5:136"
                            },
                            "nativeSrc": "49168:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "49168:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49183:6:136",
                            "nodeType": "YulLiteral",
                            "src": "49183:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "49164:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49164:3:136"
                        },
                        "nativeSrc": "49164:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49164:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49137:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49137:6:136"
                    },
                    "nativeSrc": "49137:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49137:54:136"
                  },
                  "nativeSrc": "49137:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49137:54:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49211:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49211:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49222:2:136",
                            "nodeType": "YulLiteral",
                            "src": "49222:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49207:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49207:3:136"
                        },
                        "nativeSrc": "49207:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49207:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value2",
                                    "nativeSrc": "49241:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "49241:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "49249:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "49249:2:136",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "49237:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "49237:3:136"
                                },
                                "nativeSrc": "49237:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "49237:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "49231:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "49231:5:136"
                            },
                            "nativeSrc": "49231:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "49231:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49255:6:136",
                            "nodeType": "YulLiteral",
                            "src": "49255:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "49227:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49227:3:136"
                        },
                        "nativeSrc": "49227:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49227:35:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49200:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49200:6:136"
                    },
                    "nativeSrc": "49200:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49200:63:136"
                  },
                  "nativeSrc": "49200:63:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49200:63:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49283:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49283:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49294:3:136",
                            "nodeType": "YulLiteral",
                            "src": "49294:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49279:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49279:3:136"
                        },
                        "nativeSrc": "49279:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49279:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value2",
                                    "nativeSrc": "49314:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "49314:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "49322:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "49322:2:136",
                                    "type": "",
                                    "value": "64"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "49310:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "49310:3:136"
                                },
                                "nativeSrc": "49310:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "49310:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "49304:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "49304:5:136"
                            },
                            "nativeSrc": "49304:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "49304:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49328:18:136",
                            "nodeType": "YulLiteral",
                            "src": "49328:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "49300:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49300:3:136"
                        },
                        "nativeSrc": "49300:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49300:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49272:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49272:6:136"
                    },
                    "nativeSrc": "49272:76:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49272:76:136"
                  },
                  "nativeSrc": "49272:76:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49272:76:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49368:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49368:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49379:3:136",
                            "nodeType": "YulLiteral",
                            "src": "49379:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49364:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49364:3:136"
                        },
                        "nativeSrc": "49364:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49364:19:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "49385:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "49385:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49357:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49357:6:136"
                    },
                    "nativeSrc": "49357:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49357:35:136"
                  },
                  "nativeSrc": "49357:35:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49357:35:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IWitOracleQueriable_$26795_t_bytes4_t_struct$_QuerySLA_$37373_memory_ptr_t_uint256__to_t_address_t_bytes4_t_struct$_QuerySLA_$37373_memory_ptr_t_uint256__fromStack_library_reversed",
            "nativeSrc": "48687:711:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "48906:9:136",
                "nodeType": "YulTypedName",
                "src": "48906:9:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "48917:6:136",
                "nodeType": "YulTypedName",
                "src": "48917:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "48925:6:136",
                "nodeType": "YulTypedName",
                "src": "48925:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "48933:6:136",
                "nodeType": "YulTypedName",
                "src": "48933:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "48941:6:136",
                "nodeType": "YulTypedName",
                "src": "48941:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "48952:4:136",
                "nodeType": "YulTypedName",
                "src": "48952:4:136",
                "type": ""
              }
            ],
            "src": "48687:711:136"
          },
          {
            "body": {
              "nativeSrc": "49501:245:136",
              "nodeType": "YulBlock",
              "src": "49501:245:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "49547:16:136",
                    "nodeType": "YulBlock",
                    "src": "49547:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "49556:1:136",
                              "nodeType": "YulLiteral",
                              "src": "49556:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "49559:1:136",
                              "nodeType": "YulLiteral",
                              "src": "49559:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "49549:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "49549:6:136"
                          },
                          "nativeSrc": "49549:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "49549:12:136"
                        },
                        "nativeSrc": "49549:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "49549:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "49522:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "49522:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "49531:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49531:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "49518:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49518:3:136"
                        },
                        "nativeSrc": "49518:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49518:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49543:2:136",
                        "nodeType": "YulLiteral",
                        "src": "49543:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "49514:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "49514:3:136"
                    },
                    "nativeSrc": "49514:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49514:32:136"
                  },
                  "nativeSrc": "49511:52:136",
                  "nodeType": "YulIf",
                  "src": "49511:52:136"
                },
                {
                  "nativeSrc": "49572:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "49572:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "49585:1:136",
                    "nodeType": "YulLiteral",
                    "src": "49585:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "49576:5:136",
                      "nodeType": "YulTypedName",
                      "src": "49576:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "49595:25:136",
                  "nodeType": "YulAssignment",
                  "src": "49595:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "49610:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "49610:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "49604:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "49604:5:136"
                    },
                    "nativeSrc": "49604:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49604:16:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "49595:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "49595:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "49629:15:136",
                  "nodeType": "YulAssignment",
                  "src": "49629:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "49639:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "49639:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "49629:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49629:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "49653:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "49653:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "49668:1:136",
                    "nodeType": "YulLiteral",
                    "src": "49668:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "49657:7:136",
                      "nodeType": "YulTypedName",
                      "src": "49657:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "49678:36:136",
                  "nodeType": "YulAssignment",
                  "src": "49678:36:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49699:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49699:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49710:2:136",
                            "nodeType": "YulLiteral",
                            "src": "49710:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49695:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49695:3:136"
                        },
                        "nativeSrc": "49695:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49695:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "49689:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "49689:5:136"
                    },
                    "nativeSrc": "49689:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49689:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "49678:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "49678:7:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "49723:17:136",
                  "nodeType": "YulAssignment",
                  "src": "49723:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "49733:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "49733:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "49723:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49723:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint256_fromMemory",
            "nativeSrc": "49403:343:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "49459:9:136",
                "nodeType": "YulTypedName",
                "src": "49459:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "49470:7:136",
                "nodeType": "YulTypedName",
                "src": "49470:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "49482:6:136",
                "nodeType": "YulTypedName",
                "src": "49482:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "49490:6:136",
                "nodeType": "YulTypedName",
                "src": "49490:6:136",
                "type": ""
              }
            ],
            "src": "49403:343:136"
          },
          {
            "body": {
              "nativeSrc": "49800:79:136",
              "nodeType": "YulBlock",
              "src": "49800:79:136",
              "statements": [
                {
                  "nativeSrc": "49810:17:136",
                  "nodeType": "YulAssignment",
                  "src": "49810:17:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "49822:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "49822:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "49825:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "49825:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "49818:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "49818:3:136"
                    },
                    "nativeSrc": "49818:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49818:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "49810:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "49810:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "49851:22:136",
                    "nodeType": "YulBlock",
                    "src": "49851:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "49853:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "49853:16:136"
                          },
                          "nativeSrc": "49853:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "49853:18:136"
                        },
                        "nativeSrc": "49853:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "49853:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "49842:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "49842:4:136"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "49848:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "49848:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "49839:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "49839:2:136"
                    },
                    "nativeSrc": "49839:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49839:11:136"
                  },
                  "nativeSrc": "49836:37:136",
                  "nodeType": "YulIf",
                  "src": "49836:37:136"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "49751:128:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "49782:1:136",
                "nodeType": "YulTypedName",
                "src": "49782:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "49785:1:136",
                "nodeType": "YulTypedName",
                "src": "49785:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "49791:4:136",
                "nodeType": "YulTypedName",
                "src": "49791:4:136",
                "type": ""
              }
            ],
            "src": "49751:128:136"
          },
          {
            "body": {
              "nativeSrc": "50067:285:136",
              "nodeType": "YulBlock",
              "src": "50067:285:136",
              "statements": [
                {
                  "nativeSrc": "50077:27:136",
                  "nodeType": "YulAssignment",
                  "src": "50077:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "50089:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "50089:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50100:3:136",
                        "nodeType": "YulLiteral",
                        "src": "50100:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "50085:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "50085:3:136"
                    },
                    "nativeSrc": "50085:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50085:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "50077:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "50077:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "50120:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "50120:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "50135:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "50135:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "50151:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "50151:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "50156:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "50156:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "50147:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "50147:3:136"
                                },
                                "nativeSrc": "50147:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "50147:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "50160:1:136",
                                "nodeType": "YulLiteral",
                                "src": "50160:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "50143:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "50143:3:136"
                            },
                            "nativeSrc": "50143:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "50143:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "50131:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50131:3:136"
                        },
                        "nativeSrc": "50131:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50131:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50113:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50113:6:136"
                    },
                    "nativeSrc": "50113:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50113:51:136"
                  },
                  "nativeSrc": "50113:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50113:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50184:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50184:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50195:2:136",
                            "nodeType": "YulLiteral",
                            "src": "50195:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50180:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50180:3:136"
                        },
                        "nativeSrc": "50180:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50180:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "50204:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "50204:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "50220:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "50220:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "50225:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "50225:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "50216:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "50216:3:136"
                                },
                                "nativeSrc": "50216:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "50216:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "50229:1:136",
                                "nodeType": "YulLiteral",
                                "src": "50229:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "50212:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "50212:3:136"
                            },
                            "nativeSrc": "50212:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "50212:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "50200:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50200:3:136"
                        },
                        "nativeSrc": "50200:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50200:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50173:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50173:6:136"
                    },
                    "nativeSrc": "50173:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50173:60:136"
                  },
                  "nativeSrc": "50173:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50173:60:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50253:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50253:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50264:2:136",
                            "nodeType": "YulLiteral",
                            "src": "50264:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50249:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50249:3:136"
                        },
                        "nativeSrc": "50249:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50249:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "50273:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "50273:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "50285:3:136",
                                "nodeType": "YulLiteral",
                                "src": "50285:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "50290:10:136",
                                "nodeType": "YulLiteral",
                                "src": "50290:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "50281:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "50281:3:136"
                            },
                            "nativeSrc": "50281:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "50281:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "50269:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50269:3:136"
                        },
                        "nativeSrc": "50269:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50269:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50242:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50242:6:136"
                    },
                    "nativeSrc": "50242:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50242:61:136"
                  },
                  "nativeSrc": "50242:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50242:61:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50323:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50323:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50334:2:136",
                            "nodeType": "YulLiteral",
                            "src": "50334:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50319:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50319:3:136"
                        },
                        "nativeSrc": "50319:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50319:18:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "50339:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "50339:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50312:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50312:6:136"
                    },
                    "nativeSrc": "50312:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50312:34:136"
                  },
                  "nativeSrc": "50312:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50312:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_address_t_bytes4_t_uint256__to_t_address_t_address_t_bytes4_t_uint256__fromStack_reversed",
            "nativeSrc": "49884:468:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "50012:9:136",
                "nodeType": "YulTypedName",
                "src": "50012:9:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "50023:6:136",
                "nodeType": "YulTypedName",
                "src": "50023:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "50031:6:136",
                "nodeType": "YulTypedName",
                "src": "50031:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "50039:6:136",
                "nodeType": "YulTypedName",
                "src": "50039:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "50047:6:136",
                "nodeType": "YulTypedName",
                "src": "50047:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "50058:4:136",
                "nodeType": "YulTypedName",
                "src": "50058:4:136",
                "type": ""
              }
            ],
            "src": "49884:468:136"
          },
          {
            "body": {
              "nativeSrc": "50481:862:136",
              "nodeType": "YulBlock",
              "src": "50481:862:136",
              "statements": [
                {
                  "nativeSrc": "50491:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50491:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "dataEnd",
                        "nativeSrc": "50505:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "50505:7:136"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "50514:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "50514:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "50501:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "50501:3:136"
                    },
                    "nativeSrc": "50501:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50501:23:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "50495:2:136",
                      "nodeType": "YulTypedName",
                      "src": "50495:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "50549:16:136",
                    "nodeType": "YulBlock",
                    "src": "50549:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "50558:1:136",
                              "nodeType": "YulLiteral",
                              "src": "50558:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "50561:1:136",
                              "nodeType": "YulLiteral",
                              "src": "50561:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "50551:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "50551:6:136"
                          },
                          "nativeSrc": "50551:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "50551:12:136"
                        },
                        "nativeSrc": "50551:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "50551:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "50540:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "50540:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50544:3:136",
                        "nodeType": "YulLiteral",
                        "src": "50544:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "50536:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "50536:3:136"
                    },
                    "nativeSrc": "50536:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50536:12:136"
                  },
                  "nativeSrc": "50533:32:136",
                  "nodeType": "YulIf",
                  "src": "50533:32:136"
                },
                {
                  "nativeSrc": "50574:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50574:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "50593:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "50593:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "50587:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "50587:5:136"
                    },
                    "nativeSrc": "50587:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50587:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "50578:5:136",
                      "nodeType": "YulTypedName",
                      "src": "50578:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "50636:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "50636:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "50612:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "50612:23:136"
                    },
                    "nativeSrc": "50612:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50612:30:136"
                  },
                  "nativeSrc": "50612:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50612:30:136"
                },
                {
                  "nativeSrc": "50651:15:136",
                  "nodeType": "YulAssignment",
                  "src": "50651:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "50661:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "50661:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "50651:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50651:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "50706:16:136",
                    "nodeType": "YulBlock",
                    "src": "50706:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "50715:1:136",
                              "nodeType": "YulLiteral",
                              "src": "50715:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "50718:1:136",
                              "nodeType": "YulLiteral",
                              "src": "50718:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "50708:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "50708:6:136"
                          },
                          "nativeSrc": "50708:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "50708:12:136"
                        },
                        "nativeSrc": "50708:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "50708:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "50686:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "50686:2:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "50694:2:136",
                                "nodeType": "YulLiteral",
                                "src": "50694:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "50690:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "50690:3:136"
                            },
                            "nativeSrc": "50690:7:136",
                            "nodeType": "YulFunctionCall",
                            "src": "50690:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50682:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50682:3:136"
                        },
                        "nativeSrc": "50682:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50682:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50700:4:136",
                        "nodeType": "YulLiteral",
                        "src": "50700:4:136",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "50678:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "50678:3:136"
                    },
                    "nativeSrc": "50678:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50678:27:136"
                  },
                  "nativeSrc": "50675:47:136",
                  "nodeType": "YulIf",
                  "src": "50675:47:136"
                },
                {
                  "nativeSrc": "50731:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50731:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "50751:2:136",
                        "nodeType": "YulLiteral",
                        "src": "50751:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "50745:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "50745:5:136"
                    },
                    "nativeSrc": "50745:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50745:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "50735:6:136",
                      "nodeType": "YulTypedName",
                      "src": "50735:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "50763:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50763:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "50785:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "50785:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50793:4:136",
                        "nodeType": "YulLiteral",
                        "src": "50793:4:136",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "50781:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "50781:3:136"
                    },
                    "nativeSrc": "50781:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50781:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "50767:10:136",
                      "nodeType": "YulTypedName",
                      "src": "50767:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "50873:22:136",
                    "nodeType": "YulBlock",
                    "src": "50873:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "50875:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "50875:16:136"
                          },
                          "nativeSrc": "50875:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "50875:18:136"
                        },
                        "nativeSrc": "50875:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "50875:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "50816:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "50816:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50828:18:136",
                            "nodeType": "YulLiteral",
                            "src": "50828:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "50813:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "50813:2:136"
                        },
                        "nativeSrc": "50813:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50813:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "50852:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "50852:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "50864:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "50864:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "50849:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "50849:2:136"
                        },
                        "nativeSrc": "50849:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50849:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "50810:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "50810:2:136"
                    },
                    "nativeSrc": "50810:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50810:62:136"
                  },
                  "nativeSrc": "50807:88:136",
                  "nodeType": "YulIf",
                  "src": "50807:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "50911:2:136",
                        "nodeType": "YulLiteral",
                        "src": "50911:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "50915:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "50915:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50904:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50904:6:136"
                    },
                    "nativeSrc": "50904:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50904:22:136"
                  },
                  "nativeSrc": "50904:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50904:22:136"
                },
                {
                  "nativeSrc": "50935:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50935:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50960:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50960:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50971:2:136",
                            "nodeType": "YulLiteral",
                            "src": "50971:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50956:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50956:3:136"
                        },
                        "nativeSrc": "50956:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50956:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "50950:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "50950:5:136"
                    },
                    "nativeSrc": "50950:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50950:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "50939:7:136",
                      "nodeType": "YulTypedName",
                      "src": "50939:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "51008:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "51008:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "50984:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "50984:23:136"
                    },
                    "nativeSrc": "50984:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50984:32:136"
                  },
                  "nativeSrc": "50984:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50984:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "51032:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "51032:6:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "51040:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "51040:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51025:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51025:6:136"
                    },
                    "nativeSrc": "51025:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51025:23:136"
                  },
                  "nativeSrc": "51025:23:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51025:23:136"
                },
                {
                  "nativeSrc": "51057:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "51057:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51082:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51082:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51093:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51093:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51078:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51078:3:136"
                        },
                        "nativeSrc": "51078:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51078:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "51072:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "51072:5:136"
                    },
                    "nativeSrc": "51072:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51072:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "51061:7:136",
                      "nodeType": "YulTypedName",
                      "src": "51061:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "51130:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "51130:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "51106:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "51106:23:136"
                    },
                    "nativeSrc": "51106:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51106:32:136"
                  },
                  "nativeSrc": "51106:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51106:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "51158:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "51158:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51166:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51166:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51154:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51154:3:136"
                        },
                        "nativeSrc": "51154:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51154:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "51171:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "51171:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51147:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51147:6:136"
                    },
                    "nativeSrc": "51147:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51147:32:136"
                  },
                  "nativeSrc": "51147:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51147:32:136"
                },
                {
                  "nativeSrc": "51188:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "51188:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51213:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51213:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51224:4:136",
                            "nodeType": "YulLiteral",
                            "src": "51224:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51209:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51209:3:136"
                        },
                        "nativeSrc": "51209:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51209:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "51203:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "51203:5:136"
                    },
                    "nativeSrc": "51203:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51203:27:136"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "51192:7:136",
                      "nodeType": "YulTypedName",
                      "src": "51192:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "51263:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "51263:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "51239:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "51239:23:136"
                    },
                    "nativeSrc": "51239:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51239:32:136"
                  },
                  "nativeSrc": "51239:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51239:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "51291:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "51291:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51299:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51299:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51287:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51287:3:136"
                        },
                        "nativeSrc": "51287:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51287:15:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "51304:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "51304:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51280:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51280:6:136"
                    },
                    "nativeSrc": "51280:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51280:32:136"
                  },
                  "nativeSrc": "51280:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51280:32:136"
                },
                {
                  "nativeSrc": "51321:16:136",
                  "nodeType": "YulAssignment",
                  "src": "51321:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "51331:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "51331:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "51321:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51321:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16t_struct$_QuerySLA_$37373_memory_ptr_fromMemory",
            "nativeSrc": "50357:986:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "50439:9:136",
                "nodeType": "YulTypedName",
                "src": "50439:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "50450:7:136",
                "nodeType": "YulTypedName",
                "src": "50450:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "50462:6:136",
                "nodeType": "YulTypedName",
                "src": "50462:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "50470:6:136",
                "nodeType": "YulTypedName",
                "src": "50470:6:136",
                "type": ""
              }
            ],
            "src": "50357:986:136"
          },
          {
            "body": {
              "nativeSrc": "51462:170:136",
              "nodeType": "YulBlock",
              "src": "51462:170:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "51508:16:136",
                    "nodeType": "YulBlock",
                    "src": "51508:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "51517:1:136",
                              "nodeType": "YulLiteral",
                              "src": "51517:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "51520:1:136",
                              "nodeType": "YulLiteral",
                              "src": "51520:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "51510:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "51510:6:136"
                          },
                          "nativeSrc": "51510:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "51510:12:136"
                        },
                        "nativeSrc": "51510:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "51510:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "51483:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "51483:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "51492:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51492:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "51479:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51479:3:136"
                        },
                        "nativeSrc": "51479:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51479:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51504:2:136",
                        "nodeType": "YulLiteral",
                        "src": "51504:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "51475:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "51475:3:136"
                    },
                    "nativeSrc": "51475:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51475:32:136"
                  },
                  "nativeSrc": "51472:52:136",
                  "nodeType": "YulIf",
                  "src": "51472:52:136"
                },
                {
                  "nativeSrc": "51533:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "51533:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51552:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "51552:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "51546:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "51546:5:136"
                    },
                    "nativeSrc": "51546:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51546:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "51537:5:136",
                      "nodeType": "YulTypedName",
                      "src": "51537:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "51596:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "51596:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "51571:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "51571:24:136"
                    },
                    "nativeSrc": "51571:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51571:31:136"
                  },
                  "nativeSrc": "51571:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51571:31:136"
                },
                {
                  "nativeSrc": "51611:15:136",
                  "nodeType": "YulAssignment",
                  "src": "51611:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "51621:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "51621:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "51611:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51611:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_IWitOracleRadonRegistry_$27394_fromMemory",
            "nativeSrc": "51348:284:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "51428:9:136",
                "nodeType": "YulTypedName",
                "src": "51428:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "51439:7:136",
                "nodeType": "YulTypedName",
                "src": "51439:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "51451:6:136",
                "nodeType": "YulTypedName",
                "src": "51451:6:136",
                "type": ""
              }
            ],
            "src": "51348:284:136"
          },
          {
            "body": {
              "nativeSrc": "51811:231:136",
              "nodeType": "YulBlock",
              "src": "51811:231:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51828:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "51828:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51839:2:136",
                        "nodeType": "YulLiteral",
                        "src": "51839:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51821:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51821:6:136"
                    },
                    "nativeSrc": "51821:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51821:21:136"
                  },
                  "nativeSrc": "51821:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51821:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51862:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51862:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51873:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51873:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51858:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51858:3:136"
                        },
                        "nativeSrc": "51858:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51858:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51878:2:136",
                        "nodeType": "YulLiteral",
                        "src": "51878:2:136",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51851:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51851:6:136"
                    },
                    "nativeSrc": "51851:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51851:30:136"
                  },
                  "nativeSrc": "51851:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51851:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51901:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51901:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51912:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51912:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51897:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51897:3:136"
                        },
                        "nativeSrc": "51897:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51897:18:136"
                      },
                      {
                        "hexValue": "4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520",
                        "kind": "string",
                        "nativeSrc": "51917:34:136",
                        "nodeType": "YulLiteral",
                        "src": "51917:34:136",
                        "type": "",
                        "value": "Ownable2Step: caller is not the "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51890:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51890:6:136"
                    },
                    "nativeSrc": "51890:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51890:62:136"
                  },
                  "nativeSrc": "51890:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51890:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51972:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51972:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51983:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51983:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51968:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51968:3:136"
                        },
                        "nativeSrc": "51968:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51968:18:136"
                      },
                      {
                        "hexValue": "6e6577206f776e6572",
                        "kind": "string",
                        "nativeSrc": "51988:11:136",
                        "nodeType": "YulLiteral",
                        "src": "51988:11:136",
                        "type": "",
                        "value": "new owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51961:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51961:6:136"
                    },
                    "nativeSrc": "51961:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51961:39:136"
                  },
                  "nativeSrc": "51961:39:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51961:39:136"
                },
                {
                  "nativeSrc": "52009:27:136",
                  "nodeType": "YulAssignment",
                  "src": "52009:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "52021:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "52021:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52032:3:136",
                        "nodeType": "YulLiteral",
                        "src": "52032:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "52017:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52017:3:136"
                    },
                    "nativeSrc": "52017:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52017:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "52009:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "52009:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "51637:405:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "51788:9:136",
                "nodeType": "YulTypedName",
                "src": "51788:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "51802:4:136",
                "nodeType": "YulTypedName",
                "src": "51802:4:136",
                "type": ""
              }
            ],
            "src": "51637:405:136"
          },
          {
            "body": {
              "nativeSrc": "52174:146:136",
              "nodeType": "YulBlock",
              "src": "52174:146:136",
              "statements": [
                {
                  "nativeSrc": "52184:26:136",
                  "nodeType": "YulAssignment",
                  "src": "52184:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "52196:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "52196:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52207:2:136",
                        "nodeType": "YulLiteral",
                        "src": "52207:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "52192:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52192:3:136"
                    },
                    "nativeSrc": "52192:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52192:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "52184:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "52184:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "52226:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "52226:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "52241:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "52241:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "52253:3:136",
                                "nodeType": "YulLiteral",
                                "src": "52253:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "52258:10:136",
                                "nodeType": "YulLiteral",
                                "src": "52258:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "52249:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "52249:3:136"
                            },
                            "nativeSrc": "52249:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "52249:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "52237:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "52237:3:136"
                        },
                        "nativeSrc": "52237:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "52237:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52219:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "52219:6:136"
                    },
                    "nativeSrc": "52219:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52219:52:136"
                  },
                  "nativeSrc": "52219:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "52219:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "52291:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "52291:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52302:2:136",
                            "nodeType": "YulLiteral",
                            "src": "52302:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52287:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "52287:3:136"
                        },
                        "nativeSrc": "52287:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "52287:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "52307:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "52307:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52280:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "52280:6:136"
                    },
                    "nativeSrc": "52280:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52280:34:136"
                  },
                  "nativeSrc": "52280:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "52280:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4_t_bytes32__to_t_bytes4_t_bytes32__fromStack_reversed",
            "nativeSrc": "52047:273:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "52135:9:136",
                "nodeType": "YulTypedName",
                "src": "52135:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "52146:6:136",
                "nodeType": "YulTypedName",
                "src": "52146:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "52154:6:136",
                "nodeType": "YulTypedName",
                "src": "52154:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "52165:4:136",
                "nodeType": "YulTypedName",
                "src": "52165:4:136",
                "type": ""
              }
            ],
            "src": "52047:273:136"
          },
          {
            "body": {
              "nativeSrc": "52372:108:136",
              "nodeType": "YulBlock",
              "src": "52372:108:136",
              "statements": [
                {
                  "nativeSrc": "52382:42:136",
                  "nodeType": "YulAssignment",
                  "src": "52382:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "52397:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "52397:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52400:6:136",
                            "nodeType": "YulLiteral",
                            "src": "52400:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "52393:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "52393:3:136"
                        },
                        "nativeSrc": "52393:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "52393:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "52413:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "52413:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52416:6:136",
                            "nodeType": "YulLiteral",
                            "src": "52416:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "52409:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "52409:3:136"
                        },
                        "nativeSrc": "52409:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "52409:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "52389:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52389:3:136"
                    },
                    "nativeSrc": "52389:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52389:35:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "52382:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52382:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "52452:22:136",
                    "nodeType": "YulBlock",
                    "src": "52452:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "52454:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "52454:16:136"
                          },
                          "nativeSrc": "52454:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "52454:18:136"
                        },
                        "nativeSrc": "52454:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "52454:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "52439:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "52439:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52444:6:136",
                        "nodeType": "YulLiteral",
                        "src": "52444:6:136",
                        "type": "",
                        "value": "0xffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "52436:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "52436:2:136"
                    },
                    "nativeSrc": "52436:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52436:15:136"
                  },
                  "nativeSrc": "52433:41:136",
                  "nodeType": "YulIf",
                  "src": "52433:41:136"
                }
              ]
            },
            "name": "checked_add_t_uint16",
            "nativeSrc": "52325:155:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "52355:1:136",
                "nodeType": "YulTypedName",
                "src": "52355:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "52358:1:136",
                "nodeType": "YulTypedName",
                "src": "52358:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "52364:3:136",
                "nodeType": "YulTypedName",
                "src": "52364:3:136",
                "type": ""
              }
            ],
            "src": "52325:155:136"
          },
          {
            "body": {
              "nativeSrc": "52566:149:136",
              "nodeType": "YulBlock",
              "src": "52566:149:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "52612:16:136",
                    "nodeType": "YulBlock",
                    "src": "52612:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "52621:1:136",
                              "nodeType": "YulLiteral",
                              "src": "52621:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "52624:1:136",
                              "nodeType": "YulLiteral",
                              "src": "52624:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "52614:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "52614:6:136"
                          },
                          "nativeSrc": "52614:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "52614:12:136"
                        },
                        "nativeSrc": "52614:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "52614:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "52587:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "52587:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "52596:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "52596:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "52583:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "52583:3:136"
                        },
                        "nativeSrc": "52583:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "52583:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52608:2:136",
                        "nodeType": "YulLiteral",
                        "src": "52608:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "52579:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52579:3:136"
                    },
                    "nativeSrc": "52579:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52579:32:136"
                  },
                  "nativeSrc": "52576:52:136",
                  "nodeType": "YulIf",
                  "src": "52576:52:136"
                },
                {
                  "nativeSrc": "52637:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "52637:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "52650:1:136",
                    "nodeType": "YulLiteral",
                    "src": "52650:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "52641:5:136",
                      "nodeType": "YulTypedName",
                      "src": "52641:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "52660:25:136",
                  "nodeType": "YulAssignment",
                  "src": "52660:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "52675:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "52675:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "52669:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "52669:5:136"
                    },
                    "nativeSrc": "52669:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52669:16:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "52660:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "52660:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "52694:15:136",
                  "nodeType": "YulAssignment",
                  "src": "52694:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "52704:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "52704:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "52694:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "52694:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256_fromMemory",
            "nativeSrc": "52485:230:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "52532:9:136",
                "nodeType": "YulTypedName",
                "src": "52532:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "52543:7:136",
                "nodeType": "YulTypedName",
                "src": "52543:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "52555:6:136",
                "nodeType": "YulTypedName",
                "src": "52555:6:136",
                "type": ""
              }
            ],
            "src": "52485:230:136"
          },
          {
            "body": {
              "nativeSrc": "52772:116:136",
              "nodeType": "YulBlock",
              "src": "52772:116:136",
              "statements": [
                {
                  "nativeSrc": "52782:20:136",
                  "nodeType": "YulAssignment",
                  "src": "52782:20:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "52797:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "52797:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "52800:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "52800:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "52793:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52793:3:136"
                    },
                    "nativeSrc": "52793:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52793:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "52782:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "52782:7:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "52860:22:136",
                    "nodeType": "YulBlock",
                    "src": "52860:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "52862:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "52862:16:136"
                          },
                          "nativeSrc": "52862:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "52862:18:136"
                        },
                        "nativeSrc": "52862:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "52862:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "52831:1:136",
                                "nodeType": "YulIdentifier",
                                "src": "52831:1:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "52824:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "52824:6:136"
                            },
                            "nativeSrc": "52824:9:136",
                            "nodeType": "YulFunctionCall",
                            "src": "52824:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "52838:1:136",
                                "nodeType": "YulIdentifier",
                                "src": "52838:1:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "52845:7:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "52845:7:136"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "52854:1:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "52854:1:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "52841:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "52841:3:136"
                                },
                                "nativeSrc": "52841:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "52841:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "52835:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "52835:2:136"
                            },
                            "nativeSrc": "52835:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "52835:22:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "52821:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "52821:2:136"
                        },
                        "nativeSrc": "52821:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "52821:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "52814:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "52814:6:136"
                    },
                    "nativeSrc": "52814:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52814:45:136"
                  },
                  "nativeSrc": "52811:71:136",
                  "nodeType": "YulIf",
                  "src": "52811:71:136"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "52720:168:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "52751:1:136",
                "nodeType": "YulTypedName",
                "src": "52751:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "52754:1:136",
                "nodeType": "YulTypedName",
                "src": "52754:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "52760:7:136",
                "nodeType": "YulTypedName",
                "src": "52760:7:136",
                "type": ""
              }
            ],
            "src": "52720:168:136"
          },
          {
            "body": {
              "nativeSrc": "52939:74:136",
              "nodeType": "YulBlock",
              "src": "52939:74:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "52962:22:136",
                    "nodeType": "YulBlock",
                    "src": "52962:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "52964:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "52964:16:136"
                          },
                          "nativeSrc": "52964:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "52964:18:136"
                        },
                        "nativeSrc": "52964:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "52964:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "52959:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "52959:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "52952:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "52952:6:136"
                    },
                    "nativeSrc": "52952:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52952:9:136"
                  },
                  "nativeSrc": "52949:35:136",
                  "nodeType": "YulIf",
                  "src": "52949:35:136"
                },
                {
                  "nativeSrc": "52993:14:136",
                  "nodeType": "YulAssignment",
                  "src": "52993:14:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "53002:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "53002:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "53005:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "53005:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "52998:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52998:3:136"
                    },
                    "nativeSrc": "52998:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52998:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "52993:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "52993:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint256",
            "nativeSrc": "52893:120:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "52924:1:136",
                "nodeType": "YulTypedName",
                "src": "52924:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "52927:1:136",
                "nodeType": "YulTypedName",
                "src": "52927:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "52933:1:136",
                "nodeType": "YulTypedName",
                "src": "52933:1:136",
                "type": ""
              }
            ],
            "src": "52893:120:136"
          },
          {
            "body": {
              "nativeSrc": "53258:127:136",
              "nodeType": "YulBlock",
              "src": "53258:127:136",
              "statements": [
                {
                  "nativeSrc": "53268:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "53268:40:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "53296:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "53296:6:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "53304:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "53304:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "53278:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "53278:17:136"
                    },
                    "nativeSrc": "53278:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "53278:30:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "53272:2:136",
                      "nodeType": "YulTypedName",
                      "src": "53272:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "53324:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "53324:2:136"
                      },
                      {
                        "hexValue": "3a20756e68616e646c656420617373657274696f6e",
                        "kind": "string",
                        "nativeSrc": "53328:23:136",
                        "nodeType": "YulLiteral",
                        "src": "53328:23:136",
                        "type": "",
                        "value": ": unhandled assertion"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53317:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "53317:6:136"
                    },
                    "nativeSrc": "53317:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "53317:35:136"
                  },
                  "nativeSrc": "53317:35:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "53317:35:136"
                },
                {
                  "nativeSrc": "53361:18:136",
                  "nodeType": "YulAssignment",
                  "src": "53361:18:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "53372:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "53372:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53376:2:136",
                        "nodeType": "YulLiteral",
                        "src": "53376:2:136",
                        "type": "",
                        "value": "21"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53368:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "53368:3:136"
                    },
                    "nativeSrc": "53368:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "53368:11:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "53361:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "53361:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_f8fa18d02d3b000652ed8c67af593a68d22044c405602d1b221b59198f24cc7f__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "53018:367:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "53234:3:136",
                "nodeType": "YulTypedName",
                "src": "53234:3:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "53239:6:136",
                "nodeType": "YulTypedName",
                "src": "53239:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "53250:3:136",
                "nodeType": "YulTypedName",
                "src": "53250:3:136",
                "type": ""
              }
            ],
            "src": "53018:367:136"
          },
          {
            "body": {
              "nativeSrc": "53575:248:136",
              "nodeType": "YulBlock",
              "src": "53575:248:136",
              "statements": [
                {
                  "nativeSrc": "53585:26:136",
                  "nodeType": "YulAssignment",
                  "src": "53585:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53597:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "53597:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53608:2:136",
                        "nodeType": "YulLiteral",
                        "src": "53608:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53593:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "53593:3:136"
                    },
                    "nativeSrc": "53593:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "53593:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "53585:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "53585:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53627:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "53627:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "53642:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "53642:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "53654:3:136",
                                "nodeType": "YulLiteral",
                                "src": "53654:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "53659:10:136",
                                "nodeType": "YulLiteral",
                                "src": "53659:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "53650:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "53650:3:136"
                            },
                            "nativeSrc": "53650:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "53650:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "53638:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "53638:3:136"
                        },
                        "nativeSrc": "53638:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "53638:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53620:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "53620:6:136"
                    },
                    "nativeSrc": "53620:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "53620:52:136"
                  },
                  "nativeSrc": "53620:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "53620:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "53692:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "53692:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53703:2:136",
                            "nodeType": "YulLiteral",
                            "src": "53703:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "53688:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "53688:3:136"
                        },
                        "nativeSrc": "53688:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "53688:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value1",
                                "nativeSrc": "53718:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "53718:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "53712:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "53712:5:136"
                            },
                            "nativeSrc": "53712:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "53712:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53727:4:136",
                            "nodeType": "YulLiteral",
                            "src": "53727:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "53708:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "53708:3:136"
                        },
                        "nativeSrc": "53708:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "53708:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53681:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "53681:6:136"
                    },
                    "nativeSrc": "53681:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "53681:52:136"
                  },
                  "nativeSrc": "53681:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "53681:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "53753:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "53753:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53764:2:136",
                            "nodeType": "YulLiteral",
                            "src": "53764:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "53749:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "53749:3:136"
                        },
                        "nativeSrc": "53749:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "53749:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value1",
                                    "nativeSrc": "53783:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "53783:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "53791:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "53791:2:136",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "53779:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "53779:3:136"
                                },
                                "nativeSrc": "53779:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "53779:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "53773:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "53773:5:136"
                            },
                            "nativeSrc": "53773:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "53773:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53797:18:136",
                            "nodeType": "YulLiteral",
                            "src": "53797:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "53769:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "53769:3:136"
                        },
                        "nativeSrc": "53769:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "53769:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53742:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "53742:6:136"
                    },
                    "nativeSrc": "53742:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "53742:75:136"
                  },
                  "nativeSrc": "53742:75:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "53742:75:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4_t_struct$_RadonSLAv2_$29146_memory_ptr__to_t_bytes4_t_struct$_RadonSLAv2_$29146_memory_ptr__fromStack_reversed",
            "nativeSrc": "53390:433:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "53536:9:136",
                "nodeType": "YulTypedName",
                "src": "53536:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "53547:6:136",
                "nodeType": "YulTypedName",
                "src": "53547:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "53555:6:136",
                "nodeType": "YulTypedName",
                "src": "53555:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "53566:4:136",
                "nodeType": "YulTypedName",
                "src": "53566:4:136",
                "type": ""
              }
            ],
            "src": "53390:433:136"
          },
          {
            "body": {
              "nativeSrc": "53876:77:136",
              "nodeType": "YulBlock",
              "src": "53876:77:136",
              "statements": [
                {
                  "nativeSrc": "53886:16:136",
                  "nodeType": "YulAssignment",
                  "src": "53886:16:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "53897:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "53897:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "53900:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "53900:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53893:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "53893:3:136"
                    },
                    "nativeSrc": "53893:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "53893:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "53886:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "53886:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "53925:22:136",
                    "nodeType": "YulBlock",
                    "src": "53925:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "53927:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "53927:16:136"
                          },
                          "nativeSrc": "53927:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "53927:18:136"
                        },
                        "nativeSrc": "53927:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "53927:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "53917:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "53917:1:136"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "53920:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "53920:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "53914:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "53914:2:136"
                    },
                    "nativeSrc": "53914:10:136",
                    "nodeType": "YulFunctionCall",
                    "src": "53914:10:136"
                  },
                  "nativeSrc": "53911:36:136",
                  "nodeType": "YulIf",
                  "src": "53911:36:136"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "53828:125:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "53859:1:136",
                "nodeType": "YulTypedName",
                "src": "53859:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "53862:1:136",
                "nodeType": "YulTypedName",
                "src": "53862:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "53868:3:136",
                "nodeType": "YulTypedName",
                "src": "53868:3:136",
                "type": ""
              }
            ],
            "src": "53828:125:136"
          }
        ]
      },
      "contents": "{\n    { }\n    function convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes8(array, len) -> value\n    {\n        let _1 := calldataload(array)\n        value := and(_1, shl(192, 0xffffffffffffffff))\n        if lt(len, 8)\n        {\n            value := and(and(_1, shl(shl(3, sub(8, len)), shl(192, 0xffffffffffffffff))), shl(192, 0xffffffffffffffff))\n        }\n    }\n    function validator_revert_bytes4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_string_memory_ptr(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        mcopy(add(pos, 0x20), add(value, 0x20), length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_array_string_dyn(value, pos) -> end\n    {\n        let pos_1 := pos\n        let length := mload(value)\n        mstore(pos, length)\n        pos := add(pos, 0x20)\n        let tail := add(add(pos_1, shl(5, length)), 0x20)\n        let srcPtr := add(value, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail, pos_1), not(31)))\n            tail := abi_encode_string_memory_ptr(mload(srcPtr), tail)\n            srcPtr := add(srcPtr, 0x20)\n            pos := add(pos, 0x20)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 96)\n        mstore(headStart, 96)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 128)\n        let srcPtr := add(value0, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), shl(224, 0xffffffff)))\n            pos := add(pos, 0x20)\n            srcPtr := add(srcPtr, 0x20)\n        }\n        mstore(add(headStart, 0x20), sub(pos, headStart))\n        let tail_2 := abi_encode_array_string_dyn(value1, pos)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let pos_1 := tail_2\n        let length_1 := mload(value2)\n        mstore(tail_2, length_1)\n        pos_1 := add(tail_2, 0x20)\n        let srcPtr_1 := add(value2, 0x20)\n        let i_1 := 0\n        for { } lt(i_1, length_1) { i_1 := add(i_1, 1) }\n        {\n            mstore(pos_1, mload(srcPtr_1))\n            pos_1 := add(pos_1, 0x20)\n            srcPtr_1 := add(srcPtr_1, 0x20)\n        }\n        tail := pos_1\n    }\n    function abi_decode_string_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_array_string_calldata_dyn_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_addresst_array$_t_string_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value2 := value\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_array_string_calldata_dyn_calldata(add(headStart, offset_1), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_array_string_dyn(value1, add(headStart, 64))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function finalize_allocation_7567(memPtr)\n    {\n        let newFreePtr := add(memPtr, 0x40)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(0x40, newFreePtr)\n    }\n    function finalize_allocation_7569(memPtr)\n    {\n        let newFreePtr := add(memPtr, 0x80)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function finalize_allocation_7582(memPtr)\n    {\n        let newFreePtr := add(memPtr, 0xa0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function finalize_allocation(memPtr, size)\n    {\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory() -> memPtr\n    {\n        memPtr := mload(64)\n        finalize_allocation(memPtr, 0xe0)\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_available_length_bytes(src, length, end) -> array\n    {\n        let _1 := array_allocation_size_bytes(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _1)\n        array := memPtr\n        mstore(memPtr, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        calldatacopy(add(memPtr, 0x20), src, length)\n        mstore(add(add(memPtr, length), 0x20), 0)\n    }\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n    }\n    function abi_encode_tuple_t_struct$_ResultError_$28705_memory_ptr__to_t_struct$_ResultError_$28705_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), and(mload(value0), 0xff))\n        let memberValue0 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), 0x40)\n        tail := abi_encode_string_memory_ptr(memberValue0, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string_memory_ptr(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string_memory_ptr(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_struct$_QueryRequest_$37351_memory_ptr__to_t_struct$_QueryRequest_$37351_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), and(mload(value0), sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(mload(add(value0, 32)), 0xffffff))\n        let memberValue0 := mload(add(value0, 64))\n        mstore(add(headStart, 96), 0x80)\n        let tail_1 := abi_encode_string_memory_ptr(memberValue0, add(headStart, 160))\n        mstore(add(headStart, 0x80), mload(add(value0, 96)))\n        tail := tail_1\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_RadonDataTypes(value, pos)\n    {\n        if iszero(lt(value, 20)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_RadonDataTypes_$37720__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_RadonDataTypes(value0, headStart)\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_struct$_RadonSLAv1_$29141_memory_ptr__to_t_struct$_RadonSLAv1_$29141_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 160)\n        mstore(headStart, and(mload(value0), 0xff))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xff))\n        mstore(add(headStart, 0x40), and(mload(add(value0, 0x40)), 0xffffffffffffffff))\n        mstore(add(headStart, 0x60), and(mload(add(value0, 0x60)), 0xffffffffffffffff))\n        mstore(add(headStart, 0x80), and(mload(add(value0, 0x80)), 0xffffffffffffffff))\n    }\n    function abi_encode_enum_RadonRetrievalMethods(value, pos)\n    {\n        if iszero(lt(value, 5)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_array_array_string_dyn(value, pos) -> end\n    {\n        let pos_1 := pos\n        let length := mload(value)\n        mstore(pos, length)\n        pos := add(pos, 0x20)\n        let tail := add(add(pos_1, shl(5, length)), 0x20)\n        let srcPtr := add(value, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail, pos_1), not(31)))\n            let _1 := mload(srcPtr)\n            let pos_2 := tail\n            pos_2 := tail\n            let tail_1 := add(tail, 64)\n            let srcPtr_1 := _1\n            let i_1 := 0\n            for { } lt(i_1, 0x02) { i_1 := add(i_1, 1) }\n            {\n                mstore(pos_2, sub(tail_1, tail))\n                tail_1 := abi_encode_string_memory_ptr(mload(srcPtr_1), tail_1)\n                srcPtr_1 := add(srcPtr_1, 0x20)\n                pos_2 := add(pos_2, 0x20)\n            }\n            tail := tail_1\n            srcPtr := add(srcPtr, 0x20)\n            pos := add(pos, 0x20)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            let _1 := mload(srcPtr)\n            mstore(tail_2, and(mload(_1), 0xff))\n            let memberValue0 := mload(add(_1, 32))\n            abi_encode_enum_RadonRetrievalMethods(memberValue0, add(tail_2, 32))\n            let memberValue0_1 := mload(add(_1, 64))\n            abi_encode_enum_RadonDataTypes(memberValue0_1, add(tail_2, 64))\n            let memberValue0_2 := mload(add(_1, 0x60))\n            mstore(add(tail_2, 0x60), 0xe0)\n            let tail_3 := abi_encode_string_memory_ptr(memberValue0_2, add(tail_2, 0xe0))\n            let memberValue0_3 := mload(add(_1, 0x80))\n            mstore(add(tail_2, 0x80), sub(tail_3, tail_2))\n            let tail_4 := abi_encode_string_memory_ptr(memberValue0_3, tail_3)\n            let memberValue0_4 := mload(add(_1, 0xa0))\n            mstore(add(tail_2, 0xa0), sub(tail_4, tail_2))\n            let tail_5 := abi_encode_array_array_string_dyn(memberValue0_4, tail_4)\n            let memberValue0_5 := mload(add(_1, 0xc0))\n            mstore(add(tail_2, 0xc0), sub(tail_5, tail_2))\n            tail_2 := abi_encode_string_memory_ptr(memberValue0_5, tail_5)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := 0\n        value := calldataload(add(headStart, 32))\n        value2 := value\n    }\n    function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_decode_struct_RadonSLAv2_calldata(offset, end) -> value\n    {\n        if slt(sub(end, offset), 64) { revert(0, 0) }\n        value := offset\n    }\n    function abi_decode_tuple_t_bytes4t_struct$_RadonSLAv2_$29146_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n        value1 := abi_decode_struct_RadonSLAv2_calldata(add(headStart, 32), dataEnd)\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_contract$_IWitOracleRequest_$28922(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value2 := value\n    }\n    function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n    }\n    function validator_revert_uint16(value)\n    {\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint16(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint16(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_struct_Price(value, pos)\n    {\n        mstore(pos, and(mload(value), 0xffffffffffffffff))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffffffffffffff))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n        let memberValue0 := mload(add(value, 0x60))\n        if iszero(lt(memberValue0, 4)) { panic_error_0x21() }\n        mstore(add(pos, 0x60), memberValue0)\n    }\n    function abi_encode_tuple_t_struct$_Price_$29489_memory_ptr__to_t_struct$_Price_$29489_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        abi_encode_struct_Price(value0, headStart)\n    }\n    function abi_encode_tuple_t_struct$_QueryResponse_$37365_memory_ptr__to_t_struct$_QueryResponse_$37365_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), and(mload(value0), sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(mload(add(value0, 32)), 0xffffffffffffffff))\n        mstore(add(headStart, 96), mload(add(value0, 64)))\n        let memberValue0 := mload(add(value0, 96))\n        mstore(add(headStart, 128), 0xa0)\n        let tail_1 := abi_encode_string_memory_ptr(memberValue0, add(headStart, 192))\n        mstore(add(headStart, 0xa0), and(mload(add(value0, 128)), sub(shl(160, 1), 1)))\n        tail := tail_1\n    }\n    function abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffff))\n    }\n    function abi_encode_tuple_t_enum$_QueryResponseStatus_$28682__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 7)) { panic_error_0x21() }\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\n    }\n    function abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_array$_t_bytes4_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_string_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            abi_encode_struct_Price(mload(srcPtr), pos)\n            pos := add(pos, 0x80)\n            srcPtr := add(srcPtr, 32)\n        }\n        tail := pos\n    }\n    function abi_decode_tuple_t_struct$_RadonSLAv2_$29146_calldata_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_struct_RadonSLAv2_calldata(headStart, dataEnd)\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_contract$_IWitOracleRequestTemplate_$29115t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value2 := value\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_array_string_calldata_dyn_calldata(add(headStart, offset_1), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mcopy(pos, add(value, 0x20), length)\n        let _1 := add(pos, length)\n        mstore(_1, 0)\n        end := _1\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let _1 := abi_encode_string(value0, pos)\n        mstore(_1, \": \")\n        end := abi_encode_string(value1, add(_1, 2))\n    }\n    function array_allocation_size_array_bytes4_dyn(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let length := mload(offset)\n        let src := add(offset, 0x20)\n        let array_1 := 0\n        let _1 := array_allocation_size_bytes(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _1)\n        array_1 := memPtr\n        mstore(memPtr, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        mcopy(add(memPtr, 0x20), src, length)\n        mstore(add(add(memPtr, length), 0x20), 0)\n        array := memPtr\n    }\n    function abi_decode_array_string_dyn_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let length := mload(offset)\n        let _1 := array_allocation_size_array_bytes4_dyn(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _1)\n        let dst := memPtr\n        mstore(memPtr, length)\n        dst := add(memPtr, 0x20)\n        let srcEnd := add(add(offset, shl(5, length)), 0x20)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, 0x20)\n        for { } lt(src, srcEnd) { src := add(src, 0x20) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(dst, abi_decode_string_fromMemory(add(add(offset, innerOffset), 0x20), end))\n            dst := add(dst, 0x20)\n        }\n        array := memPtr\n    }\n    function abi_decode_array_bytes32_dyn_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let length := mload(offset)\n        let _1 := array_allocation_size_array_bytes4_dyn(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _1)\n        let dst := memPtr\n        mstore(memPtr, length)\n        dst := add(memPtr, 0x20)\n        let srcEnd := add(add(offset, shl(5, length)), 0x20)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, 0x20)\n        for { } lt(src, srcEnd) { src := add(src, 0x20) }\n        {\n            let value := 0\n            value := mload(src)\n            mstore(dst, value)\n            dst := add(dst, 0x20)\n        }\n        array := memPtr\n    }\n    function abi_decode_tuple_t_array$_t_bytes4_$dyn_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_bytes32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := mload(_1)\n        let _2 := array_allocation_size_array_bytes4_dyn(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _2)\n        let dst := memPtr\n        mstore(memPtr, length)\n        dst := add(memPtr, 0x20)\n        let srcEnd := add(add(_1, shl(5, length)), 0x20)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_1, 0x20)\n        for { } lt(src, srcEnd) { src := add(src, 0x20) }\n        {\n            let value := mload(src)\n            validator_revert_bytes4(value)\n            mstore(dst, value)\n            dst := add(dst, 0x20)\n        }\n        value0 := memPtr\n        let offset_1 := mload(add(headStart, 0x20))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        value1 := abi_decode_array_string_dyn_fromMemory(add(headStart, offset_1), dataEnd)\n        let offset_2 := mload(add(headStart, 64))\n        if gt(offset_2, 0xffffffffffffffff) { revert(0, 0) }\n        value2 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset_2), dataEnd)\n    }\n    function convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes6(array, len) -> value\n    {\n        let _1 := calldataload(array)\n        value := and(_1, shl(208, 0xffffffffffff))\n        if lt(len, 6)\n        {\n            value := and(and(_1, shl(shl(3, sub(6, len)), shl(208, 0xffffffffffff))), shl(208, 0xffffffffffff))\n        }\n    }\n    function abi_encode_string_calldata(start, length, pos) -> end\n    {\n        mstore(pos, length)\n        calldatacopy(add(pos, 0x20), start, length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function calldata_access_string_calldata(base_ref, ptr) -> value, length\n    {\n        let rel_offset_of_tail := calldataload(ptr)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let value_1 := add(rel_offset_of_tail, base_ref)\n        length := calldataload(value_1)\n        value := add(value_1, 0x20)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        if sgt(value, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_address_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_string_memory_ptr_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 96)\n        let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 96))\n        mstore(add(headStart, 32), and(value2, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), sub(tail_1, headStart))\n        let pos := tail_1\n        mstore(tail_1, value4)\n        pos := add(tail_1, 32)\n        let tail_2 := add(add(tail_1, shl(5, value4)), 32)\n        let srcPtr := value3\n        let i := 0\n        for { } lt(i, value4) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, tail_1), not(31)))\n            let elementValue0, elementValue1 := calldata_access_string_calldata(value3, srcPtr)\n            tail_2 := abi_encode_string_calldata(elementValue0, elementValue1, tail_2)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function return_data_selector() -> sig\n    {\n        if gt(returndatasize(), 3)\n        {\n            returndatacopy(0, 0, 4)\n            sig := shr(224, mload(0))\n        }\n    }\n    function try_decode_error_message() -> ret\n    {\n        if lt(returndatasize(), 0x44) { leave }\n        let data := mload(64)\n        returndatacopy(data, 4, add(returndatasize(), not(3)))\n        let offset := mload(data)\n        if or(gt(offset, 0xffffffffffffffff), gt(add(offset, 0x24), returndatasize())) { leave }\n        let msg := add(data, offset)\n        let length := mload(msg)\n        if gt(length, 0xffffffffffffffff) { leave }\n        if gt(add(add(msg, length), 0x20), add(add(data, returndatasize()), not(3))) { leave }\n        finalize_allocation(data, add(add(offset, length), 0x20))\n        ret := msg\n    }\n    function abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := mload(add(headStart, 32))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value1 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 13)\n        mstore(add(headStart, 64), \"not the owner\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_2fec99da940de01442f04e8e6acba4c96a17df465177343b4e755fdcd1280828__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"already initialized codehash\")\n        tail := add(headStart, 96)\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_uint8_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_uint8(value)\n    }\n    function abi_decode_tuple_t_struct$_ResultError_$28705_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(dataEnd, _1), 0x40) { revert(0, 0) }\n        let memPtr := mload(0x40)\n        finalize_allocation_7567(memPtr)\n        let value := mload(_1)\n        validator_revert_uint8(value)\n        mstore(memPtr, value)\n        let offset_1 := mload(add(_1, 32))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(add(memPtr, 32), abi_decode_string_fromMemory(add(_1, offset_1), dataEnd))\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_RadonHash_$37153__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_QueryId_$37151__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffffffff))\n    }\n    function abi_decode_tuple_t_struct$_QueryRequest_$37351_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(dataEnd, _1), 0x80) { revert(0, 0) }\n        let memPtr := mload(64)\n        finalize_allocation_7569(memPtr)\n        let value := mload(_1)\n        validator_revert_address(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(_1, 32))\n        if iszero(eq(value_1, and(value_1, 0xffffff))) { revert(0, 0) }\n        mstore(add(memPtr, 32), value_1)\n        let offset_1 := mload(add(_1, 64))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(add(memPtr, 64), abi_decode_string_fromMemory(add(_1, offset_1), dataEnd))\n        let value_2 := 0\n        value_2 := mload(add(_1, 96))\n        mstore(add(memPtr, 96), value_2)\n        value0 := memPtr\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint64(x, y) -> product\n    {\n        let product_raw := mul(and(x, 0xffffffffffffffff), and(y, 0xffffffffffffffff))\n        product := and(product_raw, 0xffffffffffffffff)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint64(x, y) -> r\n    {\n        let y_1 := and(y, 0xffffffffffffffff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xffffffffffffffff), y_1)\n    }\n    function abi_decode_enum_RadonRetrievalMethods_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(lt(value, 5)) { revert(0, 0) }\n    }\n    function abi_decode_enum_RadonDataTypes_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(lt(value, 20)) { revert(0, 0) }\n    }\n    function abi_decode_array_array_string_dyn_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let length := mload(offset)\n        let _1 := array_allocation_size_array_bytes4_dyn(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _1)\n        let dst := memPtr\n        mstore(memPtr, length)\n        dst := add(memPtr, 0x20)\n        let srcEnd := add(add(offset, shl(5, length)), 0x20)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, 0x20)\n        for { } lt(src, srcEnd) { src := add(src, 0x20) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert(0, 0) }\n            let _2 := add(offset, innerOffset)\n            if iszero(slt(add(_2, 63), end)) { revert(0, 0) }\n            let memPtr_1 := mload(64)\n            finalize_allocation_7567(memPtr_1)\n            let dst_1 := memPtr_1\n            let srcEnd_1 := add(_2, 96)\n            if gt(srcEnd_1, end) { revert(0, 0) }\n            let src_1 := add(_2, 0x20)\n            for { } lt(src_1, srcEnd_1) { src_1 := add(src_1, 0x20) }\n            {\n                let innerOffset_1 := mload(src_1)\n                if gt(innerOffset_1, 0xffffffffffffffff) { revert(0, 0) }\n                mstore(dst_1, abi_decode_string_fromMemory(add(add(_2, innerOffset_1), 0x20), end))\n                dst_1 := add(dst_1, 0x20)\n            }\n            mstore(dst, memPtr_1)\n            dst := add(dst, 0x20)\n        }\n        array := memPtr\n    }\n    function abi_decode_tuple_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := mload(_1)\n        let _2 := array_allocation_size_array_bytes4_dyn(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _2)\n        let dst := memPtr\n        mstore(memPtr, length)\n        dst := add(memPtr, 32)\n        let srcEnd := add(add(_1, shl(5, length)), 32)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_1, 32)\n        for { } lt(src, srcEnd) { src := add(src, 32) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert(0, 0) }\n            let _3 := add(_1, innerOffset)\n            if slt(add(sub(dataEnd, _3), not(31)), 0xe0) { revert(0, 0) }\n            let value := allocate_memory()\n            mstore(value, abi_decode_uint8_fromMemory(add(_3, 32)))\n            mstore(add(value, 32), abi_decode_enum_RadonRetrievalMethods_fromMemory(add(_3, 64)))\n            mstore(add(value, 64), abi_decode_enum_RadonDataTypes_fromMemory(add(_3, 96)))\n            let offset_1 := mload(add(_3, 128))\n            if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(add(value, 96), abi_decode_string_fromMemory(add(add(_3, offset_1), 32), dataEnd))\n            let offset_2 := mload(add(_3, 160))\n            if gt(offset_2, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(add(value, 128), abi_decode_string_fromMemory(add(add(_3, offset_2), 32), dataEnd))\n            let offset_3 := mload(add(_3, 192))\n            if gt(offset_3, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(add(value, 160), abi_decode_array_array_string_dyn_fromMemory(add(add(_3, offset_3), 32), dataEnd))\n            let offset_4 := mload(add(_3, 0xe0))\n            if gt(offset_4, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(add(value, 192), abi_decode_string_fromMemory(add(add(_3, offset_4), 32), dataEnd))\n            mstore(dst, value)\n            dst := add(dst, 32)\n        }\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_enum$_RadonDataTypes_$37720_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_enum_RadonDataTypes_fromMemory(headStart)\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_bytes32__to_t_string_memory_ptr_t_bytes32__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        tail := abi_encode_string_calldata(value0, value1, add(headStart, 64))\n        mstore(add(headStart, 32), value2)\n    }\n    function abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string_calldata(value0, value1, add(headStart, 32))\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_bytes_calldata_ptr_t_bytes_calldata_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 64))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        tail := abi_encode_string_calldata(value2, value3, tail_1)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_bytes32_t_bytes_calldata_ptr__to_t_address_t_bytes32_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), 96)\n        tail := abi_encode_string_calldata(value2, value3, add(headStart, 96))\n    }\n    function validator_revert_uint64(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_RadonSLAv2_$29146_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 64)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := mload(64)\n        finalize_allocation_7567(memPtr)\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        mstore(memPtr, value)\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_RadonHash_$37153_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := 0\n        value := mload(headStart)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IWitOracleQueriable_$26795_t_bytes4__to_t_address_t_bytes4__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, shl(224, 0xffffffff)))\n    }\n    function abi_decode_tuple_t_struct$_Price_$29489_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 128)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := mload(64)\n        finalize_allocation_7569(memPtr)\n        let value := mload(headStart)\n        validator_revert_uint64(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        let value_2 := 0\n        value_2 := mload(add(headStart, 64))\n        mstore(add(memPtr, 64), value_2)\n        let value_3 := mload(add(headStart, 96))\n        if iszero(lt(value_3, 4)) { revert(0, 0) }\n        mstore(add(memPtr, 96), value_3)\n        value0 := memPtr\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_decode_tuple_t_struct$_QueryResponse_$37365_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(dataEnd, _1), 0xa0) { revert(0, 0) }\n        let memPtr := mload(64)\n        finalize_allocation_7582(memPtr)\n        let value := mload(_1)\n        validator_revert_address(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(_1, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        let value_2 := 0\n        value_2 := mload(add(_1, 64))\n        mstore(add(memPtr, 64), value_2)\n        let offset_1 := mload(add(_1, 96))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(add(memPtr, 96), abi_decode_string_fromMemory(add(_1, offset_1), dataEnd))\n        let value_3 := mload(add(_1, 128))\n        validator_revert_address(value_3)\n        mstore(add(memPtr, 128), value_3)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_enum$_QueryResponseStatus_$28682_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(lt(value, 7)) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint64(value)\n        value0 := value\n    }\n    function abi_encode_array_string_calldata_dyn_calldata(value, length, pos) -> end\n    {\n        let pos_1 := pos\n        mstore(pos, length)\n        pos := add(pos, 0x20)\n        let tail := add(add(pos_1, shl(5, length)), 0x20)\n        let srcPtr := value\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail, pos_1), not(31)))\n            let elementValue0, elementValue1 := calldata_access_string_calldata(value, srcPtr)\n            tail := abi_encode_string_calldata(elementValue0, elementValue1, tail)\n            srcPtr := add(srcPtr, 0x20)\n            pos := add(pos, 0x20)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        mstore(tail_1, value1)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, value1)), 64)\n        let srcPtr := value0\n        let i := 0\n        let _1 := add(sub(calldatasize(), value0), not(30))\n        for { } lt(i, value1) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            let rel_offset_of_tail := calldataload(srcPtr)\n            if iszero(slt(rel_offset_of_tail, _1)) { revert(0, 0) }\n            let value := add(rel_offset_of_tail, value0)\n            let length := calldataload(value)\n            let value_1 := add(value, 32)\n            if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n            if sgt(value_1, sub(calldatasize(), shl(5, length))) { revert(0, 0) }\n            tail_2 := abi_encode_array_string_calldata_dyn_calldata(value_1, length, tail_2)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_enum$_ResultStatus_$37698_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(lt(value, 256)) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IWitOracleQueriable_$26795_t_bytes4_t_struct$_QuerySLA_$37373_memory_ptr_t_uint256__to_t_address_t_bytes4_t_struct$_QuerySLA_$37373_memory_ptr_t_uint256__fromStack_library_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 192)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, shl(224, 0xffffffff)))\n        mstore(add(headStart, 64), and(mload(value2), 0xffff))\n        mstore(add(headStart, 96), and(mload(add(value2, 32)), 0xffff))\n        mstore(add(headStart, 128), and(mload(add(value2, 64)), 0xffffffffffffffff))\n        mstore(add(headStart, 160), value3)\n    }\n    function abi_decode_tuple_t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := 0\n        value := mload(headStart)\n        value0 := value\n        let value_1 := 0\n        value_1 := mload(add(headStart, 32))\n        value1 := value_1\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_address_t_bytes4_t_uint256__to_t_address_t_address_t_bytes4_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(value2, shl(224, 0xffffffff)))\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_decode_tuple_t_uint16t_struct$_QuerySLA_$37373_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        let _1 := sub(dataEnd, headStart)\n        if slt(_1, 128) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint16(value)\n        value0 := value\n        if slt(add(_1, not(31)), 0x60) { revert(0, 0) }\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0x60)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint16(value_1)\n        mstore(memPtr, value_1)\n        let value_2 := mload(add(headStart, 64))\n        validator_revert_uint16(value_2)\n        mstore(add(memPtr, 32), value_2)\n        let value_3 := mload(add(headStart, 0x60))\n        validator_revert_uint64(value_3)\n        mstore(add(memPtr, 64), value_3)\n        value1 := memPtr\n    }\n    function abi_decode_tuple_t_contract$_IWitOracleRadonRegistry_$27394_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 41)\n        mstore(add(headStart, 64), \"Ownable2Step: caller is not the \")\n        mstore(add(headStart, 96), \"new owner\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_bytes4_t_bytes32__to_t_bytes4_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_add_t_uint16(x, y) -> sum\n    {\n        sum := add(and(x, 0xffff), and(y, 0xffff))\n        if gt(sum, 0xffff) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := 0\n        value := mload(headStart)\n        value0 := value\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_f8fa18d02d3b000652ed8c67af593a68d22044c405602d1b221b59198f24cc7f__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let _1 := abi_encode_string(value0, pos)\n        mstore(_1, \": unhandled assertion\")\n        end := add(_1, 21)\n    }\n    function abi_encode_tuple_t_bytes4_t_struct$_RadonSLAv2_$29146_memory_ptr__to_t_bytes4_t_struct$_RadonSLAv2_$29146_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), and(mload(value1), 0xff))\n        mstore(add(headStart, 64), and(mload(add(value1, 32)), 0xffffffffffffffff))\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n}",
      "id": 136,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "449:24283:17:-:0;;;775:29:13;716:88;;-1:-1:-1;;;811:46:13;;670:10:26;634:46;;1144:683:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:288:26;;;;;;;;;;;;;;;;;1349:11:17;;1375;;1349;1292:10;;1269:95:1;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;827:51:136;800:18;;1322:31:1;;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1288:4:135;1304:13;;1328:27;;;;1857:1:4;2061:7;:21;870:40:26::1;::::0;;;;937:32;;::::1;::::0;;::::1;::::0;921:48:::1;::::0;1462:103:17::2;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;1462:103:17;;::::2;::::0;;;;::::2;::::0;-1:-1:-1;;;;;;1485:31:17;::::2;;:35:::0;;;1462:8:::2;:103::i;:::-;1576:201;-1:-1:-1::0;;;;;;1640:89:17::2;-1:-1:-1::0;;;;;1599:145:17::2;;:10;-1:-1:-1::0;;;;;1599:16:17::2;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;1599:145:17::2;;;1576:201;;;;;;;;;;;;;-1:-1:-1::0;;;1576:201:17::2;;::::0;:8:::2;;;:201;;:::i;:::-;-1:-1:-1::0;;;;;;;1788:31:17::2;;::::0;449:24283;;1480:156:131;1570:13;1563:20;;-1:-1:-1;;;;;;1563:20:131;;;1594:34;1619:8;1594:24;:34::i;:::-;1480:156;:::o;440:160:63:-;537:10;532:61;;564:17;572:8;564:7;:17::i;:::-;440:160;;:::o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;608:229:63:-;873:40:17;;;;;;;;;;;;;;;;;794:8:63;710:107;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;710:107:63;;;;;;;;;;-1:-1:-1;;;682:147:63;;;;;;;:::i;146:530:136:-;248:6;256;264;317:2;305:9;296:7;292:23;288:32;285:52;;;333:1;330;323:12;285:52;359:16;;-1:-1:-1;;;;;404:31:136;;394:42;;384:70;;450:1;447;440:12;384:70;518:2;503:18;;497:25;567:2;552:18;;546:25;473:5;;-1:-1:-1;497:25:136;-1:-1:-1;609:15:136;;602:23;590:36;;580:64;;640:1;637;630:12;580:64;663:7;653:17;;;146:530;;;;;:::o;889:290::-;958:6;1011:2;999:9;990:7;986:23;982:32;979:52;;;1027:1;1024;1017:12;979:52;1053:16;;-1:-1:-1;;;;;;1098:32:136;;1088:43;;1078:71;;1145:1;1142;1135:12;1078:71;1168:5;889:290;-1:-1:-1;;;889:290:136:o;1184:212::-;1226:3;1264:5;1258:12;1308:6;1301:4;1294:5;1290:16;1285:3;1279:36;1370:1;1334:16;;1359:13;;;-1:-1:-1;1334:16:136;;1184:212;-1:-1:-1;1184:212:136:o;1401:422::-;1681:3;1709:30;1735:3;1727:6;1709:30;:::i;:::-;-1:-1:-1;;;1755:2:136;1748:16;1780:37;1814:1;1810:2;1806:10;1798:6;1780:37;:::i;:::-;1773:44;1401:422;-1:-1:-1;;;;;1401:422:136:o;1828:418::-;1977:2;1966:9;1959:21;1940:4;2009:6;2003:13;2052:6;2047:2;2036:9;2032:18;2025:34;2111:6;2106:2;2098:6;2094:15;2089:2;2078:9;2074:18;2068:50;2167:1;2162:2;2153:6;2142:9;2138:22;2134:31;2127:42;2237:2;2230;2226:7;2221:2;2213:6;2209:15;2205:29;2194:9;2190:45;2186:54;2178:62;;;1828:418;;;;:::o;:::-;449:24283:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "449:24283:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2087:7:17;;-1:-1:-1;;;;;;2087:7:17;-1:-1:-1;;;2087:52:17;:100;;;;-1:-1:-1;2160:10:17;2182:4;2160:27;2087:100;2069:869;;;2214:15;2232:69;2297:2;2277:16;2284:8;2214:15;2277:16;:::i;:::-;-1:-1:-1;;;;;;2277:22:17;;;2232:37;:69::i;:::-;:76;;;2323:100;;;;;;;;;;;;-1:-1:-1;;;2323:100:17;;;;-1:-1:-1;;;;;2232:76:17;;;;-1:-1:-1;2323:100:17;;2350:21;;;;2323:8;:100::i;:::-;2483:4;2477:11;2527:14;2524:1;2519:3;2506:36;2627:1;2624;2608:14;2603:3;2594:7;2587:5;2574:55;2659:16;2716:4;2713:1;2708:3;2693:28;2746:6;2774:28;;;;2846:4;2841:3;2834:17;2774:28;2795:4;2790:3;2783:17;2069:869;2900:26;;;;;;;;;;;;;;-1:-1:-1;;;2900:26:17;;;:7;:26::i;:::-;449:24283;7464:212;;;;;;;;;;-1:-1:-1;7464:212:17;;;;;:::i;:::-;;:::i;:::-;;;913:25:136;;;901:2;886:18;7464:212:17;;;;;;;;6781:243;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;15330:715::-;;;;;;;;;;-1:-1:-1;15330:715:17;;;;;:::i;:::-;;:::i;929:43::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5189:32:136;;;5171:51;;5159:2;5144:18;929:43:17;5025:203:136;16500:235:17;;;;;;;;;;-1:-1:-1;16500:235:17;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;9449:190::-;;;;;;:::i;:::-;;:::i;2495:862:26:-;;;;;;;;;;-1:-1:-1;2495:862:26;;;;;:::i;:::-;;:::i;11540:111:17:-;;;;;;;;;;-1:-1:-1;11633:9:17;11540:111;;11028:243;;;;;;;;;;-1:-1:-1;11028:243:17;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8532:420::-;;;;;;;;;;-1:-1:-1;8532:420:17;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1477:85:135:-;;;;;;;;;;-1:-1:-1;1549:5:135;1477:85;;2016:47:26;;;;;;;;;;;;;;;1939:88:135;;;;;;;;;;-1:-1:-1;2008:11:135;1939:88;;;8903:14:136;;8896:22;8878:41;;8866:2;8851:18;1939:88:135;8738:187:136;3804:135:26;;;;;;;;;;;;;:::i;8032:197:17:-;;;;;;;;;;-1:-1:-1;8032:197:17;;;;;:::i;:::-;;:::i;8237:287::-;;;;;;;;;;-1:-1:-1;8237:287:17;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;716:88:13:-;;;;;;;;;;;;;;;;;;;;;;:::i;16296:192:17:-;;;;;;;;;;-1:-1:-1;16296:192:17;;;;;:::i;:::-;;:::i;:::-;;;10462:4:136;10450:17;;;10432:36;;10420:2;10405:18;16296:192:17;10290:184:136;4662:305:17;;;;;;;;;;-1:-1:-1;4662:305:17;;;;;:::i;:::-;;:::i;9901:570::-;;;;;;;;;;;;;:::i;:::-;;;;;;10881:4:136;10923:3;10912:9;10908:19;10900:27;;10973:4;10964:6;10958:13;10954:24;10943:9;10936:43;11047:4;11039;11031:6;11027:17;11021:24;11017:35;11010:4;10999:9;10995:20;10988:65;-1:-1:-1;;;;;11113:4:136;11105:6;11101:17;11095:24;11091:49;11084:4;11073:9;11069:20;11062:79;-1:-1:-1;;;;;11201:4:136;11193:6;11189:17;11183:24;11179:49;11172:4;11161:9;11157:20;11150:79;-1:-1:-1;;;;;11289:4:136;11281:6;11277:17;11271:24;11267:49;11260:4;11249:9;11245:20;11238:79;10731:592;;;;;2293:101:1;;;;;;;;;;;;;:::i;866:123:13:-;;;;;;;;;;;;;:::i;12100:165:17:-;;;;;;;;;;;;;:::i;9153:288::-;;;;;;;;;;-1:-1:-1;9153:288:17;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;14189:578::-;;;;;;;;;;-1:-1:-1;14189:578:17;;;;;:::i;:::-;;:::i;12880:355::-;;;;;;;;;;-1:-1:-1;12880:355:17;;;;;:::i;:::-;;:::i;5995:387::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;;15528:33:136;;;15510:52;;15498:2;15483:18;5995:387:17;15366:202:136;11913:175:17;;;;;;;;;;-1:-1:-1;12033:7:17;1710:6:1;-1:-1:-1;;;;;1710:6:1;11913:175:17;3804:135:26;8960:185:17;;;;;;;;;;-1:-1:-1;8960:185:17;;;;;:::i;:::-;;:::i;17990:743::-;;;;;;;;;;-1:-1:-1;17990:743:17;;;;;:::i;:::-;;:::i;1668:176:135:-;;;;;;;;;;-1:-1:-1;1755:5:135;1808:18;1668:176;;11283:249:17;;;;;;:::i;:::-;;:::i;14775:219::-;;;;;;;;;;-1:-1:-1;14775:219:17;;;;;:::i;:::-;;:::i;1001:392:13:-;;;;;;;;;;-1:-1:-1;;;;1001:392:13;;6390:181:17;;;;;;;;;;-1:-1:-1;6390:181:17;;;;;:::i;:::-;;:::i;13578:220::-;;;;;;;;;;-1:-1:-1;13578:220:17;;;;;:::i;:::-;;:::i;785:136::-;;;;;;;;;;-1:-1:-1;873:40:17;;;;;;;;;;;;;;;;;785:136;;5221:165;;;;;;;;;;-1:-1:-1;5221:165:17;;;;;:::i;:::-;;:::i;16743:596::-;;;;;;;;;;-1:-1:-1;16743:596:17;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7036:263::-;;;;;;;;;;-1:-1:-1;7036:263:17;;;;;:::i;:::-;;:::i;7684:340::-;;;;;;;;;;-1:-1:-1;7684:340:17;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10479:286::-;;;;;;;;;;-1:-1:-1;10479:286:17;;;;;:::i;:::-;;:::i;634:46:26:-;;;;;;;;;;;;;;;7311:145:17;;;;;;;;;;-1:-1:-1;7426:15:17;:22;7311:145;;13243:327;;;;;;;;;;;;;:::i;12451:199::-;;;;;;;;;;;;;:::i;12273:170::-;;;;;;;;;;-1:-1:-1;12408:27:17;;12273:170;;12408:27;;;;19952:38:136;;19940:2;19925:18;12273:170:17;19808:188:136;6579:194:17;;;;;;;;;;-1:-1:-1;6579:194:17;;;;;:::i;:::-;;:::i;10773:247::-;;;;;;;;;;-1:-1:-1;10773:247:17;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12662:210::-;;;;;;;;;;-1:-1:-1;12662:210:17;;;;;:::i;:::-;;:::i;19283:706::-;;;;;;;;;;-1:-1:-1;19283:706:17;;;;;:::i;:::-;;:::i;:::-;;;;20693:25:136;;;20749:2;20734:18;;20727:34;;;;20777:18;;;20770:34;20681:2;20666:18;19283:706:17;20493:317:136;17347:381:17;;;;;;;;;;-1:-1:-1;17347:381:17;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13806:371::-;;;;;;;;;;-1:-1:-1;13806:371:17;;;;;:::i;:::-;;:::i;15002:320::-;;;;;;;;;;-1:-1:-1;15002:320:17;;;;;:::i;:::-;;:::i;18741:284::-;;;;;;;;;;-1:-1:-1;18741:284:17;;;;;:::i;:::-;;:::i;3957:122:62:-;-1:-1:-1;;;;;;4049:22:62;4015:14;4049:22;;;:14;:22;;;;;;3957:122::o;440:160:63:-;537:10;532:61;;564:17;572:8;564:7;:17::i;:::-;440:160;;:::o;608:229::-;873:40:17;;;;;;;;;;;;;;;;;794:8:63;710:107;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;710:107:63;;;;;;;;;;-1:-1:-1;;;682:147:63;;;;;;;:::i;:::-;;;;;;;;7464:212:17;7553:7;7585:83;7649:9;7661:6;7585:43;:83::i;:::-;7578:90;7464:212;-1:-1:-1;;7464:212:17:o;6781:243::-;6874:20;6896:25;6923;6973:26;:41;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6973:43:17;;;;;;;;;;;;:::i;:::-;6966:50;;;;;;6781:243;;;:::o;15330:715::-;1531:13:1;:11;:13::i;:::-;15533:111:17::1;-1:-1:-1::0;;;;;;15589:8:17::1;15556:42;:22;15569:7:::0;;15556:22:::1;:::i;:::-;-1:-1:-1::0;;;;;15556:42:17::1;;;15533:111;;;;;;;;;;;;;-1:-1:-1::0;;;15533:111:17::1;;::::0;:8:::1;:111::i;:::-;15655:88;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;15655:88:17::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;15678:20:17;::::1;::::0;::::1;::::0;15655:8:::1;:88::i;:::-;15758:66;::::0;-1:-1:-1;;;15758:66:17;;:26:::1;::::0;:43:::1;::::0;:66:::1;::::0;15802:7;;;;15811:6;;15819:4;;;;15758:66:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15754:284;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;15898:16;15906:7;15898;:16::i;:::-;15848:88;15754:284;;;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15973:53;:51;:53::i;15754:284::-;15330:715:::0;;;;;:::o;16500:235::-;16601:22;16625:27;16677:50;16720:6;16677:42;:50::i;:::-;16670:57;;;;16500:235;;;:::o;9449:190::-;9589:42;;;;;;;;9613:17;9589:42;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9589:42:17;;;;;;;;-1:-1:-1;;9589:42:17;;9605:6;;9589:15;:42::i;2495:862:26:-;2574:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;;2609:385:26;;2763:9;2752:39;;;;;;;;;;;;:::i;:::-;2730:61;-1:-1:-1;2730:61:26;-1:-1:-1;2806:26:26;2730:61;2806:18;:26::i;:::-;2609:385;;;2944:10;-1:-1:-1;;;;;2944:20:26;;;2936:46;;;;-1:-1:-1;;;2936:46:26;;31554:2:136;2936:46:26;;;31536:21:136;31593:2;31573:18;;;31566:30;-1:-1:-1;;;31612:18:136;;;31605:43;31665:18;;2936:46:26;31352:337:136;2936:46:26;3004:37;3031:9;3004:26;:37::i;:::-;3070:22;;:36;;;;:93;;-1:-1:-1;3127:22:26;;1755:5:135;1808:18;3127:36:26;3070:93;3052:188;;;3190:38;;-1:-1:-1;;;3190:38:26;;31896:2:136;3190:38:26;;;31878:21:136;31935:2;31915:18;;;31908:30;31974;31954:18;;;31947:58;32022:18;;3190:38:26;31694:352:136;3052:188:26;1755:5:135;1808:18;879:66:133;3250:22:26;;:35;1755:5:135;1808:18;1549:5;-1:-1:-1;;;;;3301:48:26;3310:7;12033::17;1710:6:1;-1:-1:-1;;;;;1710:6:1;;3804:135:26;3310:7;-1:-1:-1;;;;;3301:48:26;;3339:9;:7;:9::i;:::-;3301:48;;;;;;:::i;:::-;;;;;;;;2563:794;2495:862;:::o;11028:243:17:-;-1:-1:-1;;;;;;;;;;;;;;;;;11204:9:17;-1:-1:-1;;;;;11187:47:17;;11235:27;11255:6;11235:19;:27::i;:::-;11187:76;;;;;;;;;;;;;913:25:136;;901:2;886:18;;767:177;11187:76:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11187:76:17;;;;;;;;;;;;:::i;8532:420::-;8625:12;8655:50;8708:45;8746:6;8708:37;:45::i;:::-;8655:98;;8764:83;8787:8;:16;;;8807:1;8787:21;;;;8764:83;;;;;;;;;;;;;-1:-1:-1;;;8764:83:17;;;:8;:83::i;:::-;8865:11;:9;:11::i;:::-;-1:-1:-1;;;;;8865:38:17;;8926:8;:16;;;8865:79;;;;;;;;;;;;;913:25:136;;901:2;886:18;;767:177;8865:79:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8865:79:17;;;;;;;;;;;;:::i;:::-;8858:86;8532:420;-1:-1:-1;;;8532:420:17:o;3804:135:26:-;3861:13;3894:37;3904:26;3894:9;:37::i;:::-;3887:44;;3804:135;:::o;8032:197:17:-;8124:7;8156:45;8194:6;8156:37;:45::i;:::-;:65;;;;8032:197;-1:-1:-1;;8032:197:17:o;8237:287::-;8337:26;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8337:26:17;8408:9;-1:-1:-1;;;;;8388:46:17;;8476:27;8496:6;8476:19;:27::i;:::-;8388:128;;-1:-1:-1;;;;;;8388:128:17;;;;;;;-1:-1:-1;;;;;33827:31:136;;;8388:128:17;;;33809:50:136;33782:18;;8388:128:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8388:128:17;;;;;;;;;;;;:::i;16296:192::-;16396:5;16426:45;16464:6;16426:37;:45::i;:::-;:54;;;;;;16296:192;-1:-1:-1;;16296:192:17:o;4662:305::-;4735:4;4752:14;4769:7;12033;1710:6:1;-1:-1:-1;;;;;1710:6:1;;3804:135:26;4769:7:17;4752:24;-1:-1:-1;2008:11:135;4898:50:17;;;;;4943:5;-1:-1:-1;;;;;4933:15:17;:6;-1:-1:-1;;;;;4933:15:17;;4787:172;4662:305;-1:-1:-1;;;4662:305:17:o;9901:570::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10039:17:17;:34;10161:302;;;;;;;;10039:34;;;10161:302;;;;;;10274:2;10161:302;;;;10109:34;;;;-1:-1:-1;;;;;10109:34:17;10161:302;;;;;;10039:34;;;10161:302;;;;10354:30;;10109:34;10354:30;:::i;:::-;-1:-1:-1;;;;;10161:302:17;;;;;10421:30;;;;:14;:30;:::i;:::-;-1:-1:-1;;;;;10161:302:17;;;10154:309;9901:570;-1:-1:-1;;;9901:570:17:o;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;866:123:13:-;924:13;957:24;972:8;957:14;:24::i;12100:165:17:-;12227:30;:28;:30::i;9153:288::-;9250:42;9317:11;:9;:11::i;:::-;-1:-1:-1;;;;;9317:40:17;;9394:27;9414:6;9394:19;:27::i;:::-;9317:116;;;;;;;;;;;;;913:25:136;;901:2;886:18;;767:177;9317:116:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9317:116:17;;;;;;;;;;;;:::i;14189:578::-;1531:13:1;:11;:13::i;:::-;14318:159:17::1;14421:8;14341:88;;;;;;;;:::i;:::-;:11;:9;:11::i;:::-;-1:-1:-1::0;;;;;14341:44:17::1;;14408:7;14341:76;;;;;;;;;;;;;913:25:136::0;;901:2;886:18;;767:177;14341:76:17::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:88;;;;;;;;:::i;:::-;;14318:159;;;;;;;;;;;;;-1:-1:-1::0;;;14318:159:17::1;;::::0;:8:::1;:159::i;:::-;14492:62;::::0;-1:-1:-1;;;14492:62:17;;:26:::1;::::0;:44:::1;::::0;:62:::1;::::0;14537:7;;;;14546;;14492:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14488:272;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;14620:16;14628:7;14620;:16::i;:::-;14570:88;14189:578:::0;;;:::o;14488:272::-:1;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14695:53;:51;:53::i;14488:272::-;14189:578:::0;;;:::o;12880:355::-;1531:13:1;:11;:13::i;:::-;12976:46:17::1;::::0;-1:-1:-1;;;12976:46:17;;:26:::1;::::0;:37:::1;::::0;:46:::1;::::0;13014:7;;;;12976:46:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12972:256;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;13096:16;13104:7;13096;:16::i;12972:256::-;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13163:53;:51;:53::i;5995:387::-:0;6121:15;:22;6082:17;;6121:26;6117:258;;6177:32;2847:24:62;6190:15:17;;6206:1;6190:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;6177:12;:32::i;:::-;6164:45;-1:-1:-1;6240:1:17;6224:140;6249:15;:22;6243:28;;6224:140;;;6314:34;2847:24:62;6327:15:17;;6343:3;6327:20;;;;;;;;:::i;6314:34::-;6300:48;;;;6273:6;;6224:140;;;;6117:258;5995:387;:::o;8960:185::-;9052:7;9084:45;9122:6;9084:37;:45::i;:::-;:53;;;;8960:185;-1:-1:-1;;8960:185:17:o;17990:743::-;18148:7;1531:13:1;:11;:13::i;:::-;18177:111:17::1;::::0;-1:-1:-1;;;18177:111:17;;:26:::1;::::0;:44:::1;::::0;:111:::1;::::0;18236:8;;;;18260:17;;;;18177:111:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;18177:111:17::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;18177:111:17::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;18173:553;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;18594:16;18602:7;18594;:16::i;:::-;18544:80;18173:553;;;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18661:53;:51;:53::i;18173:553::-;18359:133;18397:7;18424;-1:-1:-1::0;;;;;18424:16:17::1;;18460:17;;18359:133;;;;;;;;;:::i;:::-;;;;;;;;18514:7:::0;-1:-1:-1;18173:553:17::1;17990:743:::0;;;;;;:::o;11283:249::-;11443:7;11475:49;11491:6;11499:24;;;;;;;;11513:9;11499:24;:::i;:::-;:13;:24::i;:::-;11475:15;:49::i;14775:219::-;1531:13:1;:11;:13::i;:::-;14916:70:17::1;14934:7;;14967;-1:-1:-1::0;;;;;14967:15:17::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6390:181::-:0;2990:25:62;;;;;;6492:6:17;;6523:40;2897:127:62;13578:220:17;1531:13:1;:11;:13::i;:::-;13734:27:17::1;:56:::0;;-1:-1:-1;;13734:56:17::1;;::::0;;;::::1;::::0;;;::::1;::::0;;13578:220::o;5221:165::-;5312:7;5339:39;5365:12;5339:25;:39::i;16743:596::-;16844:39;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16844:39:17;16905:116;;-1:-1:-1;;;16905:116:17;;-1:-1:-1;;;;;16978:9:17;43186:32:136;16905:116:17;;;43168:51:136;-1:-1:-1;;;;;;43255:33:136;;43235:18;;;43228:61;16905:26:17;;:38;;43141:18:136;;16905:116:17;;;;;;;;;;;;;;;;;;-1:-1:-1;16905:116:17;;;;;;;;-1:-1:-1;;16905:116:17;;;;;;;;;;;;:::i;:::-;;;16901:431;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;17192:16;17200:7;17192;:16::i;:::-;17142:88;16743:596;;;:::o;16901:431::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17267:53;:51;:53::i;16901:431::-;16743:596;;;:::o;7036:263::-;7153:4;7175:13;7191;7196:7;;7191:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7191:4:17;;-1:-1:-1;;;7191:13:17:i;:::-;7175:29;-1:-1:-1;;;;;;;7222:69:17;;:59;7227:45;7175:29;7227:37;:45::i;:::-;7222:59;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;:59::i;:::-;-1:-1:-1;;;;;;7222:69:17;;;7036:263;-1:-1:-1;;;;7036:263:17:o;7684:340::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7851:9:17;-1:-1:-1;;;;;7831:47:17;;7920:83;7984:9;7996:6;7920:43;:83::i;:::-;7831:185;;-1:-1:-1;;;;;;7831:185:17;;;;;;;-1:-1:-1;;;;;33827:31:136;;;7831:185:17;;;33809:50:136;33782:18;;7831:185:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7831:185:17;;;;;;;;;;;;:::i;10479:286::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10648:9:17;-1:-1:-1;;;;;10628:47:17;;10717:27;10737:6;10717:19;:27::i;13243:327::-;1531:13:1;:11;:13::i;:::-;13317:26:17::1;:38;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13313:250;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;13431:16;13439:7;13431;:16::i;:::-;13381:80;2293:101:1:o:0;13313:250:17:-:1;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13498:53;:51;:53::i;12451:199::-:0;12583:7;12615:27;889:13:131;;-1:-1:-1;;;;;889:13:131;;809:101;6579:194:17;6674:13;6712:45;6750:6;6712:37;:45::i;:::-;6705:60;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6579:194;;;:::o;10773:247::-;10872:36;10950:9;-1:-1:-1;;;;;10933:50:17;;10984:27;11004:6;10984:19;:27::i;:::-;10933:79;;;;;;;;;;;;;913:25:136;;901:2;886:18;;767:177;10933:79:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12662:210::-;1531:13:1;:11;:13::i;:::-;12828:36:17::1;12854:9;12828:25;:36::i;19283:706::-:0;19384:13;19399:18;19419:15;19452:52;19507:27;19526:6;19507:11;:27::i;:::-;19576:18;;19635:22;;;;19452:82;;-1:-1:-1;;;;;;19571:24:17;;19703:51;19674:12;:25;;;:80;;;;;;;;:::i;:::-;;:281;;19827:54;19798:12;:25;;;:83;;;;;;;;:::i;:::-;;:138;;19933:3;19674:281;;19798:138;19905:3;19674:281;;;19774:3;19674:281;19545:436;;-1:-1:-1;;;;;;19545:436:17;;-1:-1:-1;19545:436:17;;;-1:-1:-1;;19283:706:17;;;;;:::o;17347:381::-;17463:49;17579:7;-1:-1:-1;;;;;17540:54:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17540:54:17;;;;;;;;;;;;;;;;-1:-1:-1;17530:64:17;-1:-1:-1;17610:8:17;17605:116;17624:20;;;17605:116;;;17684:25;17696:7;;17704:3;17696:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;17684:25::-;17669:7;17677:3;17669:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;17646:6;;17605:116;;;;17347:381;;;;:::o;13806:371::-;1531:13:1;:11;:13::i;:::-;13966:23:17::1;;::::0;::::1;:10:::0;:23:::1;:::i;:::-;13929:17;:60:::0;;-1:-1:-1;;13929:60:17::1;;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;14037:24:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;14000:17;:61:::0;;-1:-1:-1;;;;;14000:61:17;;::::1;::::0;;;::::1;-1:-1:-1::0;;14000:61:17;::::1;::::0;::::1;::::0;;;;14095:25:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;;;;;;;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;14072:97:::1;::::0;14095:27:::1;::::0;:25:::1;:27::i;:::-;14072:97;;;;;;;;;;;;;-1:-1:-1::0;;;14072:97:17::1;;::::0;:8:::1;:97::i;15002:320::-:0;1531:13:1;:11;:13::i;:::-;15228:86:17::1;15246:7;;15279:8;-1:-1:-1::0;;;;;15279:27:17::1;;15307:4;;15279:33;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;18741:284:::0;18934:83;;-1:-1:-1;;;;;;18934:83:17;;18893:16;;18934:26;;:54;;:83;;18989:8;;;;18999:17;;;;18934:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18927:90;18741:284;-1:-1:-1;;;;;18741:284:17:o;3032:424:62:-;3146:16;3191:18;3202:6;3191:10;:18::i;:::-;:38;;;;-1:-1:-1;3258:13:62;;;:106;;-1:-1:-1;3336:28:62;3292:40;;-1:-1:-1;;;3292:40:62;;;;;913:25:136;;;-1:-1:-1;;;;;3292:30:62;;;;;886:18:136;;3292:40:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;;;;;;;:::i;:::-;;;3258:106;3240:209;;;3402:18;3413:6;3402:10;:18::i;:::-;:35;;;;3032:424;-1:-1:-1;;;3032:424:62:o;1796:162:1:-;12033:7:17;1710:6:1;-1:-1:-1;;;;;1710:6:1;735:10:3;1855:23:1;1851:101;;1901:40;;-1:-1:-1;;;1901:40:1;;735:10:3;1901:40:1;;;5171:51:136;5144:18;;1901:40:1;5025:203:136;21888:164:17;21976:68;21984:59;:57;:59::i;:::-;21976:7;:68::i;4087:452:62:-;4164:22;4201:27;4273:18;4284:6;4273:10;:18::i;:::-;:25;;;-1:-1:-1;;;;;4273:25:62;;-1:-1:-1;4273:25:62;4333:14;4340:6;4333;:14::i;:::-;4309:38;;4385:5;:12;-1:-1:-1;;;;;4372:26:62;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4358:40:62;-1:-1:-1;4414:8:62;4409:123;4434:5;:12;4428:3;:18;4409:123;;;4490:22;4501:5;4507:3;4501:10;;;;;;;;:::i;:::-;;;;;;;4490;:22::i;:::-;4471:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;4483:3;4471:16;;;;;;;;:::i;:::-;;;;;;;;;;:49;4448:6;;4409:123;;;;4245:294;4087:452;;;:::o;22830:1744:17:-;22985:7;23014:45;23052:6;23014:37;:45::i;:::-;:53;;;:58;23010:1557;;23148:209;;;-1:-1:-1;;;23148:209:17;;-1:-1:-1;;;;;23227:9:17;49025:32:136;23148:209:17;;;49007:51:136;-1:-1:-1;;;;;;49094:33:136;;49074:18;;;49067:61;49168:13;;49183:6;49164:26;;;49144:18;;;49137:54;49089:2;49237:15;;49231:22;49227:35;49207:18;;;49200:63;49310:15;;;49304:22;-1:-1:-1;;;;;49300:47:136;49279:19;;;49272:76;23120:9:17;49364:19:136;;;49357:35;;;23120:9:17;23148:26;;:40;;48979:19:136;;23148:209:17;;;;;;;;;;;;;;;;;;-1:-1:-1;23148:209:17;;;;;;;;-1:-1:-1;;23148:209:17;;;;;;;;;;;;:::i;:::-;;;23144:939;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;23939:16;23947:7;23939;:16::i;:::-;23885:88;23144:939;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24014:53;:51;:53::i;23144:939::-;23516:9;23500:13;:25;23496:181;;;23610:10;23602:55;23631:25;23643:13;23631:9;:25;:::i;:::-;23602:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23496:181;23753:62;;;23767:9;50113:51:136;;735:10:3;50195:2:136;50180:18;;50173:60;-1:-1:-1;;;;;;50269:33:136;;50249:18;;;50242:61;50334:2;50319:18;;50312:34;;;23753:62:17;;;;;;;50100:3:136;23753:62:17;;;23841:13;-1:-1:-1;23834:20:17;;-1:-1:-1;;23834:20:17;23144:939;23074:1030;23010:1557;;;24178:1;24114:45;24152:6;24114:37;:45::i;:::-;:52;;;-1:-1:-1;;;;;24114:52:17;:66;24110:457;;24204:293;24238:41;24272:6;24238:33;:41::i;:::-;24298:184;;;;;;;;24373:8;:25;;;24298:184;;;;;;24437:8;:25;;;-1:-1:-1;;;;;24298:184:17;;;;24204:15;:293::i;:::-;24197:300;;;;24110:457;24532:23;;;;;;;;;;;;;;-1:-1:-1;;;24532:23:17;;;:7;:23::i;1480:156:131:-;1570:13;1563:20;;-1:-1:-1;;;;;;1563:20:131;;;1594:34;1619:8;1594:24;:34::i;3290:1285:17:-;3391:22;;3387:1181;;3464:158;;;;;;;;3604:2;3464:158;;3517:1;3464:158;;;;;;3555:11;3464:158;;;;;3444:178;;;-1:-1:-1;;3444:178:17;;;;;;;3697:32;;-1:-1:-1;;3697:32:17;3727:2;3697:32;;;12662:210;:::o;3387:1181::-;3844:16;;:20;3840:717;;3886:33;3921:39;3997:9;3964:88;;;;;;;;;;;;:::i;:::-;4071:27;:56;;;;;;-1:-1:-1;;4071:56:17;;;;;;4146:36;;:17;:36;;;;;;;;;;;-1:-1:-1;;;;;4146:36:17;;;-1:-1:-1;;4146:36:17;;;;;-1:-1:-1;;4146:36:17;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3840:717:17;;-1:-1:-1;3840:717:17;;4223:25;;;;;;;;:17;:25;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4223:25:17;;;;;;;;:27;;:25;:27::i;:::-;4218:339;;-1:-1:-1;4367:174:17;;;;;;;;4519:2;4367:174;;4424:1;4367:174;;;;;;4466:11;4367:174;;;;;4347:194;;-1:-1:-1;;4347:194:17;;;;;3290:1285::o;1835:135::-;1887:23;1941:9;-1:-1:-1;;;;;1930:30:17;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4638:372:26:-;4716:13;4747:19;4779:25;4795:8;4779:15;:25::i;:::-;-1:-1:-1;;;;;4769:36:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4769:36:26;-1:-1:-1;4747:58:26;-1:-1:-1;4821:7:26;4816:155;4839:6;:13;4834:2;:18;4816:155;;;4883:8;4892:2;4883:12;;;;;;;:::i;:::-;;;;4870:6;4877:2;4870:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;4870:25:26;;;;;;;;-1:-1:-1;4939:5:26;;4816:155;;44113:370:116;44189:13;44220:19;44252:25;44268:8;44252:15;:25::i;:::-;-1:-1:-1;;;;;44242:36:116;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;44242:36:116;-1:-1:-1;44220:58:116;-1:-1:-1;44294:7:116;44289:155;44312:6;:13;44307:2;:18;44289:155;;;44356:8;44365:2;44356:12;;;;;;;:::i;:::-;;;;44343:6;44350:2;44343:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;44343:25:116;;;;;;;;-1:-1:-1;44412:5:116;;44289:155;;1721:245:131;735:10:3;;1818:14:131;:12;:14::i;:::-;-1:-1:-1;;;;;1818:24:131;;1814:108;;1859:51;;-1:-1:-1;;;1859:51:131;;51839:2:136;1859:51:131;;;51821:21:136;51878:2;51858:18;;;51851:30;51917:34;51897:18;;;51890:62;-1:-1:-1;;;51968:18:136;;;51961:39;52017:19;;1859:51:131;51637:405:136;1814:108:131;1932:26;1951:6;1932:18;:26::i;20243:420:17:-;20309:6;;20332:43;20370:4;20332:37;:43::i;:::-;:51;;;:65;20328:328;;20449:4;20455:43;20493:4;20455:37;:43::i;:::-;:51;;;20438:69;;;-1:-1:-1;;;;;;52237:33:136;;;20438:69:17;;;52219:52:136;52287:18;;52280:34;52192:18;;20438:69:17;;;;;;;;;;;;;20428:80;;;;;;20414:95;;20243:420;;;:::o;20328:328::-;20577:4;20583:43;20621:4;20583:37;:43::i;:::-;:58;;;20566:76;;;-1:-1:-1;;;;;;52237:33:136;;;20566:76:17;;;52219:52:136;52287:18;;52280:34;52192:18;;20566:76:17;52047:273:136;20671:648:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;20848:17:17;:34;20821:23;;20848:34;;;;;;20821:61;;;;;;;;:144;;-1:-1:-1;20931:17:17;:34;20903:24;;;;-1:-1:-1;;;;;20931:34:17;;;;;;20903:62;;;;20821:144;20803:509;;;-1:-1:-1;20999:224:17;;;;;;;;21173:17;:34;;;20999:224;;21052:23;;20999:224;;;;;;;;;;21112:24;;;;-1:-1:-1;;;;;20999:224:17;;;;;;20671:648::o;20803:509::-;21266:34;;;;;;;;;;;;;;;;;;:7;:34::i;5398:260::-;5604:27;;5478:4;;5646:3;;5598:33;;5604:27;;5646:3;5598:33;:::i;:::-;5517:115;;5537:9;-1:-1:-1;;;;;5517:46:17;;5564:12;5517:60;;;;;;;;;;;;;913:25:136;;901:2;886:18;;767:177;5517:60:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:115;;;;:::i;:::-;5502:147;;;;:::i;2543:215:1:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:1;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:1;;2700:1:::1;2672:31;::::0;::::1;5171:51:136::0;5144:18;;2672:31:1::1;5025:203:136::0;34535:287:116;34597:4;34707:1;34683:4;:21;;;:25;;;34636:121;;;;;34754:3;34729:4;:21;;;:28;;;;34636:121;:167;;;;-1:-1:-1;;34778:21:116;;;-1:-1:-1;;;;;34778:25:116;;;;34535:287::o;22060:258:17:-;22152:13;22223:37;;;;;;;;;;;;;;;;;22192:117;;;;;;;;:::i;:::-;;;;;;;;;;;;;22178:132;;22060:258;:::o;2048:587:62:-;-1:-1:-1;;;;;;2162:22:62;;2136:23;2162:22;;;:14;:22;;;;;;;;;:37;;;;;2218:15;;;;;;;;;;;2102:21;;2162:37;;2218:15;;2162:37;2218:15;;;;;;;;;-1:-1:-1;;2210:23:62;-1:-1:-1;2244:9:62;2264:237;2286:1;2279:4;:8;2264:237;;;2334:15;2313:5;2319:4;2313:11;;;;;;;;:::i;:::-;;;;;;:37;-1:-1:-1;;;;;2313:37:62;;;;-1:-1:-1;;;;;2313:37:62;;;;;;2369:5;2375:4;2369:11;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;;2369:16:62;2365:125;2406:5;2365:125;2472:2;2452:22;;;;;2289:7;;2264:237;;;2598:19;;-1:-1:-1;2605:5:62;2048:587;-1:-1:-1;2048:587:62:o;22326:496:17:-;22462:21;22501:32;22548:5;:12;22536:9;:24;;;;:::i;:::-;22501:59;-1:-1:-1;22576:8:17;22571:244;22596:5;:12;22590:3;:18;22571:244;;;22650:4;-1:-1:-1;;;;;22650:18:17;;22694:27;22755:5;22761:3;22755:10;;;;;;;;:::i;:::-;;;;;;;;;;;;22650:153;;-1:-1:-1;;;;;;22650:153:17;;;;;;;;53638:33:136;;;22650:153:17;;;53620:52:136;53712:13;;53727:4;53708:24;53688:18;;;53681:52;53779:15;;;53773:22;-1:-1:-1;;;;;53769:47:136;53749:18;;;53742:75;53593:18;;22650:153:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22633:170;;;;:::i;:::-;;-1:-1:-1;22610:6:17;;22571:244;;;;22490:332;22326:496;;;;:::o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;5082:307:26:-;5166:12;5196:186;5213:2;5203:7;:12;5196:186;;;5238:8;5247:7;5238:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;5238:22:26;5234:68;5281:5;5234:68;5345:10;;5196:186;;52548:306:116;52631:12;52661:186;52678:2;52668:7;:12;52661:186;;;52703:8;52712:7;52703:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;52703:22:116;52699:68;52746:5;52699:68;52810:10;;52661:186;;14:362:136;134:19;;-1:-1:-1;;;;;;171:37:136;;;228:1;220:10;;217:153;;;-1:-1:-1;;;;;;289:1:136;285:11;;;;282:1;278:19;274:54;;;266:63;262:98;;;;14:362;-1:-1:-1;;14:362:136:o;381:131::-;-1:-1:-1;;;;;;455:32:136;;445:43;;435:71;;502:1;499;492:12;517:245;575:6;628:2;616:9;607:7;603:23;599:32;596:52;;;644:1;641;634:12;596:52;683:9;670:23;702:30;726:5;702:30;:::i;949:300::-;1002:3;1040:5;1034:12;1067:6;1062:3;1055:19;1123:6;1116:4;1109:5;1105:16;1098:4;1093:3;1089:14;1083:47;1175:1;1168:4;1159:6;1154:3;1150:16;1146:27;1139:38;1238:4;1231:2;1227:7;1222:2;1214:6;1210:15;1206:29;1201:3;1197:39;1193:50;1186:57;;;949:300;;;;:::o;1254:590::-;1306:3;1337;1369:5;1363:12;1396:6;1391:3;1384:19;1428:4;1423:3;1419:14;1412:21;;1486:4;1476:6;1473:1;1469:14;1462:5;1458:26;1454:37;1525:4;1518:5;1514:16;1548:1;1558:260;1572:6;1569:1;1566:13;1558:260;;;1659:2;1655:7;1647:5;1641:4;1637:16;1633:30;1628:3;1621:43;1685:49;1729:4;1720:6;1714:13;1685:49;:::i;:::-;1769:4;1794:14;;;;1677:57;;-1:-1:-1;1757:17:136;;;;;1594:1;1587:9;1558:260;;;-1:-1:-1;1834:4:136;;1254:590;-1:-1:-1;;;;;;1254:590:136:o;1849:1400::-;2213:2;2225:21;;;2295:13;;2198:18;;;2317:22;;;2165:4;;2409;2397:17;;;2370:3;2355:19;;;2165:4;2442:200;2456:6;2453:1;2450:13;2442:200;;;2521:13;;-1:-1:-1;;;;;;2517:40:136;2505:53;;2587:4;2615:17;;;;2578:14;;;;2478:1;2471:9;2442:200;;;2446:3;;2689:9;2684:3;2680:19;2673:4;2662:9;2658:20;2651:49;2723:40;2759:3;2751:6;2723:40;:::i;:::-;2799:22;;;2794:2;2779:18;;2772:50;2875:13;;2897:24;;;2951:4;2981:17;;;;-1:-1:-1;2939:17:136;;;;-1:-1:-1;3018:1:136;3028:193;3044:8;3039:3;3036:17;3028:193;;;3113:15;;3099:30;;3162:4;3192:19;;;;3151:16;;;;3072:1;3063:11;3028:193;;;-1:-1:-1;3238:5:136;;1849:1400;-1:-1:-1;;;;;;;1849:1400:136:o;3254:348::-;3306:8;3316:6;3370:3;3363:4;3355:6;3351:17;3347:27;3337:55;;3388:1;3385;3378:12;3337:55;-1:-1:-1;3411:20:136;;-1:-1:-1;;;;;3443:30:136;;3440:50;;;3486:1;3483;3476:12;3440:50;3523:4;3515:6;3511:17;3499:29;;3575:3;3568:4;3559:6;3551;3547:19;3543:30;3540:39;3537:59;;;3592:1;3589;3582:12;3537:59;3254:348;;;;;:::o;3607:131::-;-1:-1:-1;;;;;3682:31:136;;3672:42;;3662:70;;3728:1;3725;3718:12;3743:375;3814:8;3824:6;3878:3;3871:4;3863:6;3859:17;3855:27;3845:55;;3896:1;3893;3886:12;3845:55;-1:-1:-1;3919:20:136;;-1:-1:-1;;;;;3951:30:136;;3948:50;;;3994:1;3991;3984:12;3948:50;4031:4;4023:6;4019:17;4007:29;;4091:3;4084:4;4074:6;4071:1;4067:14;4059:6;4055:27;4051:38;4048:47;4045:67;;;4108:1;4105;4098:12;4123:897;4251:6;4259;4267;4275;4283;4336:2;4324:9;4315:7;4311:23;4307:32;4304:52;;;4352:1;4349;4342:12;4304:52;4392:9;4379:23;-1:-1:-1;;;;;4417:6:136;4414:30;4411:50;;;4457:1;4454;4447:12;4411:50;4496:59;4547:7;4538:6;4527:9;4523:22;4496:59;:::i;:::-;4574:8;;-1:-1:-1;4470:85:136;-1:-1:-1;;4659:2:136;4644:18;;4631:32;4672:31;4631:32;4672:31;:::i;:::-;4722:5;-1:-1:-1;4780:2:136;4765:18;;4752:32;-1:-1:-1;;;;;4796:32:136;;4793:52;;;4841:1;4838;4831:12;4793:52;4880:80;4952:7;4941:8;4930:9;4926:24;4880:80;:::i;:::-;4123:897;;;;-1:-1:-1;4123:897:136;;-1:-1:-1;4979:8:136;;4854:106;4123:897;-1:-1:-1;;;4123:897:136:o;5233:377::-;-1:-1:-1;;;;;5460:32:136;;5442:51;;5529:2;5524;5509:18;;5502:30;;;-1:-1:-1;;5549:55:136;;5585:18;;5577:6;5549:55;:::i;5615:127::-;5676:10;5671:3;5667:20;5664:1;5657:31;5707:4;5704:1;5697:15;5731:4;5728:1;5721:15;5747:227;5833:4;5825:6;5821:17;5904:6;5892:10;5889:22;-1:-1:-1;;;;;5856:10:136;5853:34;5850:62;5847:88;;;5915:18;;:::i;:::-;5951:4;5944:24;-1:-1:-1;5747:227:136:o;5979:225::-;6065:4;6057:6;6053:17;6136:6;6124:10;6121:22;-1:-1:-1;;;;;6088:10:136;6085:34;6082:62;6079:88;;;6147:18;;:::i;6209:225::-;6295:4;6287:6;6283:17;6366:6;6354:10;6351:22;-1:-1:-1;;;;;6318:10:136;6315:34;6312:62;6309:88;;;6377:18;;:::i;6439:249::-;6549:2;6530:13;;-1:-1:-1;;6526:27:136;6514:40;;-1:-1:-1;;;;;6569:34:136;;6605:22;;;6566:62;6563:88;;;6631:18;;:::i;:::-;6667:2;6660:22;-1:-1:-1;;6439:249:136:o;6693:118::-;6760:2;6754:9;6772:33;6800:4;6754:9;6772:33;:::i;6816:186::-;6864:4;-1:-1:-1;;;;;6889:6:136;6886:30;6883:56;;;6919:18;;:::i;:::-;-1:-1:-1;6985:2:136;6964:15;-1:-1:-1;;6960:29:136;6991:4;6956:40;;6816:186::o;7007:419::-;7071:5;7101:35;7129:6;7101:35;:::i;:::-;7165:2;7159:9;7177:31;7205:2;7197:6;7177:31;:::i;:::-;7226:6;7217:15;;7256:6;7248;7241:22;7296:3;7287:6;7282:3;7278:16;7275:25;7272:45;;;7313:1;7310;7303:12;7272:45;7363:6;7358:3;7351:4;7343:6;7339:17;7326:44;7418:1;7411:4;7402:6;7394;7390:19;7386:30;7379:41;;;7007:419;;;;;:::o;7431:449::-;7499:6;7552:2;7540:9;7531:7;7527:23;7523:32;7520:52;;;7568:1;7565;7558:12;7520:52;7608:9;7595:23;-1:-1:-1;;;;;7633:6:136;7630:30;7627:50;;;7673:1;7670;7663:12;7627:50;7696:22;;7749:4;7741:13;;7737:27;-1:-1:-1;7727:55:136;;7778:1;7775;7768:12;7727:55;7801:73;7866:7;7861:2;7848:16;7843:2;7839;7835:11;7801:73;:::i;7885:432::-;8074:2;8063:9;8056:21;8132:4;8123:6;8117:13;8113:24;8108:2;8097:9;8093:18;8086:52;8037:4;8185:2;8177:6;8173:15;8167:22;8227:4;8220;8209:9;8205:20;8198:34;8249:62;8307:2;8296:9;8292:18;8278:12;8249:62;:::i;8322:229::-;8469:2;8458:9;8451:21;8432:4;8489:56;8541:2;8530:9;8526:18;8518:6;8489:56;:::i;9166:612::-;9357:2;9346:9;9339:21;9432:1;9428;9423:3;9419:11;9415:19;9406:6;9400:13;9396:39;9391:2;9380:9;9376:18;9369:67;9500:8;9494:2;9486:6;9482:15;9476:22;9472:37;9467:2;9456:9;9452:18;9445:65;9320:4;9557:2;9549:6;9545:15;9539:22;9597:4;9592:2;9581:9;9577:18;9570:32;9625:63;9683:3;9672:9;9668:19;9654:12;9625:63;:::i;:::-;9611:77;;9744:2;9736:6;9732:15;9726:22;9719:4;9708:9;9704:20;9697:52;9766:6;9758:14;;;9166:612;;;;:::o;9783:127::-;9844:10;9839:3;9835:20;9832:1;9825:31;9875:4;9872:1;9865:15;9899:4;9896:1;9889:15;9915:146;10001:2;9994:5;9991:13;9981:47;;10008:18;;:::i;:::-;10037;;9915:146::o;10066:219::-;10218:2;10203:18;;10230:49;10207:9;10261:6;10230:49;:::i;10479:247::-;10538:6;10591:2;10579:9;10570:7;10566:23;10562:32;10559:52;;;10607:1;10604;10597:12;10559:52;10646:9;10633:23;10665:31;10690:5;10665:31;:::i;11328:152::-;11421:1;11414:5;11411:12;11401:46;;11427:18;;:::i;11485:1045::-;11543:3;11574;11606:5;11600:12;11633:6;11628:3;11621:19;11665:4;11660:3;11656:14;11649:21;;11723:4;11713:6;11710:1;11706:14;11699:5;11695:26;11691:37;11762:4;11755:5;11751:16;11785:1;11795:709;11809:6;11806:1;11803:13;11795:709;;;11874:16;;;-1:-1:-1;;11870:30:136;11858:43;;11924:13;;11878:4;12030:2;12020:13;;12088:1;12102:291;12118:4;12113:3;12110:13;12102:291;;;12203:4;12195:6;12191:17;12184:5;12177:32;12236:53;12282:6;12271:8;12265:15;12236:53;:::i;:::-;12332:4;12318:19;;;;12363:16;;;;;12226:63;-1:-1:-1;12142:1:136;12133:11;12102:291;;;-1:-1:-1;12455:4:136;12480:14;;;;12414:6;;-1:-1:-1;12443:17:136;;;;;-1:-1:-1;;11831:1:136;11824:9;11795:709;;12535:1880;12743:4;12791:2;12780:9;12776:18;12821:2;12810:9;12803:21;12844:6;12879;12873:13;12910:6;12902;12895:22;12948:2;12937:9;12933:18;12926:25;;13010:2;13000:6;12997:1;12993:14;12982:9;12978:30;12974:39;12960:53;;13048:2;13040:6;13036:15;13069:1;13079:1307;13093:6;13090:1;13087:13;13079:1307;;;13186:2;13182:7;13170:9;13162:6;13158:22;13154:36;13149:3;13142:49;13220:6;13214:13;13270:4;13265:2;13259:9;13255:20;13247:6;13240:36;13323:2;13319;13315:11;13309:18;13340:68;13404:2;13396:6;13392:15;13378:12;13340:68;:::i;:::-;;13457:2;13453;13449:11;13443:18;13474:63;13533:2;13525:6;13521:15;13505:14;13474:63;:::i;:::-;;13586:4;13582:2;13578:13;13572:20;13631:4;13624;13616:6;13612:17;13605:31;13663:63;13720:4;13712:6;13708:17;13692:14;13663:63;:::i;:::-;13649:77;;13775:4;13771:2;13767:13;13761:20;13832:6;13824;13820:19;13813:4;13805:6;13801:17;13794:46;13867:52;13912:6;13896:14;13867:52;:::i;:::-;13853:66;;;13968:4;13964:2;13960:13;13954:20;14025:6;14017;14013:19;14006:4;13998:6;13994:17;13987:46;14060:57;14110:6;14094:14;14060:57;:::i;:::-;14046:71;;;14166:4;14162:2;14158:13;14152:20;14130:42;;14223:6;14215;14211:19;14204:4;14196:6;14192:17;14185:46;14254:52;14299:6;14283:14;14254:52;:::i;:::-;14244:62;-1:-1:-1;;;14341:2:136;14364:12;;;;14329:15;;;;;13115:1;13108:9;13079:1307;;;-1:-1:-1;14403:6:136;;12535:1880;-1:-1:-1;;;;;;12535:1880:136:o;14420:525::-;14500:6;14508;14516;14569:2;14557:9;14548:7;14544:23;14540:32;14537:52;;;14585:1;14582;14575:12;14537:52;14625:9;14612:23;-1:-1:-1;;;;;14650:6:136;14647:30;14644:50;;;14690:1;14687;14680:12;14644:50;14729:59;14780:7;14771:6;14760:9;14756:22;14729:59;:::i;:::-;14807:8;;14703:85;;-1:-1:-1;14911:2:136;14896:18;;;;14883:32;;14420:525;-1:-1:-1;;;;14420:525:136:o;14950:411::-;15021:6;15029;15082:2;15070:9;15061:7;15057:23;15053:32;15050:52;;;15098:1;15095;15088:12;15050:52;15138:9;15125:23;-1:-1:-1;;;;;15163:6:136;15160:30;15157:50;;;15203:1;15200;15193:12;15157:50;15242:59;15293:7;15284:6;15273:9;15269:22;15242:59;:::i;:::-;15320:8;;15216:85;;-1:-1:-1;14950:411:136;-1:-1:-1;;;;14950:411:136:o;15573:714::-;15663:6;15671;15679;15687;15740:2;15728:9;15719:7;15715:23;15711:32;15708:52;;;15756:1;15753;15746:12;15708:52;15796:9;15783:23;-1:-1:-1;;;;;15821:6:136;15818:30;15815:50;;;15861:1;15858;15851:12;15815:50;15900:59;15951:7;15942:6;15931:9;15927:22;15900:59;:::i;:::-;15978:8;;-1:-1:-1;15874:85:136;-1:-1:-1;;16066:2:136;16051:18;;16038:32;-1:-1:-1;;;;;16082:32:136;;16079:52;;;16127:1;16124;16117:12;16079:52;16166:61;16219:7;16208:8;16197:9;16193:24;16166:61;:::i;:::-;15573:714;;;;-1:-1:-1;16246:8:136;-1:-1:-1;;;;15573:714:136:o;16292:158::-;16355:5;16400:2;16391:6;16386:3;16382:16;16378:25;16375:45;;;16416:1;16413;16406:12;16455:378;16553:6;16561;16614:2;16602:9;16593:7;16589:23;16585:32;16582:52;;;16630:1;16627;16620:12;16582:52;16669:9;16656:23;16688:30;16712:5;16688:30;:::i;:::-;16737:5;-1:-1:-1;16761:66:136;16819:7;16814:2;16799:18;;16761:66;:::i;:::-;16751:76;;16455:378;;;;;:::o;16838:573::-;16945:6;16953;16961;17014:2;17002:9;16993:7;16989:23;16985:32;16982:52;;;17030:1;17027;17020:12;16982:52;17070:9;17057:23;-1:-1:-1;;;;;17095:6:136;17092:30;17089:50;;;17135:1;17132;17125:12;17089:50;17174:59;17225:7;17216:6;17205:9;17201:22;17174:59;:::i;:::-;17252:8;;-1:-1:-1;17148:85:136;-1:-1:-1;;17337:2:136;17322:18;;17309:32;17350:31;17309:32;17350:31;:::i;:::-;17400:5;17390:15;;;16838:573;;;;;:::o;17871:117::-;17956:6;17949:5;17945:18;17938:5;17935:29;17925:57;;17978:1;17975;17968:12;17993:245;18051:6;18104:2;18092:9;18083:7;18079:23;18075:32;18072:52;;;18120:1;18117;18110:12;18072:52;18159:9;18146:23;18178:30;18202:5;18178:30;:::i;18243:180::-;18302:6;18355:2;18343:9;18334:7;18330:23;18326:32;18323:52;;;18371:1;18368;18361:12;18323:52;-1:-1:-1;18394:23:136;;18243:180;-1:-1:-1;18243:180:136:o;18428:411::-;-1:-1:-1;;;;;18509:5:136;18503:12;18499:37;18494:3;18487:50;-1:-1:-1;;;;;18590:4:136;18583:5;18579:16;18573:23;18569:48;18562:4;18557:3;18553:14;18546:72;18667:4;18660:5;18656:16;18650:23;18643:4;18638:3;18634:14;18627:47;18720:4;18713:5;18709:16;18703:23;18762:1;18748:12;18745:19;18735:53;;18768:18;;:::i;:::-;18820:12;18813:4;18808:3;18804:14;18797:36;;18428:411;;:::o;18844:243::-;19026:3;19011:19;;19039:42;19015:9;19063:6;19039:42;:::i;19092:711::-;19285:2;19274:9;19267:21;19360:1;19356;19351:3;19347:11;19343:19;19334:6;19328:13;19324:39;19319:2;19308:9;19304:18;19297:67;-1:-1:-1;;;;;19422:2:136;19414:6;19410:15;19404:22;19400:47;19395:2;19384:9;19380:18;19373:75;19502:2;19494:6;19490:15;19484:22;19479:2;19468:9;19464:18;19457:50;19248:4;19554:2;19546:6;19542:15;19536:22;19595:4;19589:3;19578:9;19574:19;19567:33;19623:63;19681:3;19670:9;19666:19;19652:12;19623:63;:::i;:::-;19746:3;19734:16;;;;19728:23;-1:-1:-1;;;;;19724:49:136;19761:3;19702:20;;;;19695:79;;;;-1:-1:-1;19609:77:136;;19092:711;-1:-1:-1;19092:711:136:o;20001:256::-;20158:2;20143:18;;20191:1;20180:13;;20170:47;;20197:18;;:::i;:::-;20226:25;;;20001:256;:::o;20815:444::-;20900:6;20908;20961:2;20949:9;20940:7;20936:23;20932:32;20929:52;;;20977:1;20974;20967:12;20929:52;21017:9;21004:23;-1:-1:-1;;;;;21042:6:136;21039:30;21036:50;;;21082:1;21079;21072:12;21036:50;21121:78;21191:7;21182:6;21171:9;21167:22;21121:78;:::i;21264:678::-;21502:2;21514:21;;;21584:13;;21487:18;;;21606:22;;;21454:4;;21685:15;;;21659:2;21644:18;;;21454:4;21728:188;21742:6;21739:1;21736:13;21728:188;;;21791:43;21830:3;21821:6;21815:13;21791:43;:::i;:::-;21903:2;21891:15;;;;;21863:4;21854:14;;;;;21764:1;21757:9;21728:188;;;-1:-1:-1;21933:3:136;;21264:678;-1:-1:-1;;;;;21264:678:136:o;21947:245::-;22037:6;22090:2;22078:9;22069:7;22065:23;22061:32;22058:52;;;22106:1;22103;22096:12;22058:52;22129:57;22178:7;22167:9;22129:57;:::i;23161:212::-;23203:3;23241:5;23235:12;23285:6;23278:4;23271:5;23267:16;23262:3;23256:36;23347:1;23311:16;;23336:13;;;-1:-1:-1;23311:16:136;;23161:212;-1:-1:-1;23161:212:136:o;23378:422::-;23658:3;23686:30;23712:3;23704:6;23686:30;:::i;:::-;-1:-1:-1;;;23732:2:136;23725:16;23757:37;23791:1;23787:2;23783:10;23775:6;23757:37;:::i;23805:182::-;23864:4;-1:-1:-1;;;;;23889:6:136;23886:30;23883:56;;;23919:18;;:::i;:::-;-1:-1:-1;23964:1:136;23960:14;23976:4;23956:25;;23805:182::o;23992:590::-;24046:5;24099:3;24092:4;24084:6;24080:17;24076:27;24066:55;;24117:1;24114;24107:12;24066:55;24150:6;24144:13;24189:4;24181:6;24177:17;24218:1;24238:35;24266:6;24238:35;:::i;:::-;24302:2;24296:9;24314:31;24342:2;24334:6;24314:31;:::i;:::-;24365:6;24354:17;;24395:6;24387;24380:22;24435:3;24426:6;24421:3;24417:16;24414:25;24411:45;;;24452:1;24449;24442:12;24411:45;24495:6;24490:3;24483:4;24475:6;24471:17;24465:37;24550:1;24543:4;24534:6;24526;24522:19;24518:30;24511:41;24570:6;24561:15;;;;;;;23992:590;;;;:::o;24587:892::-;24651:5;24704:3;24697:4;24689:6;24685:17;24681:27;24671:55;;24722:1;24719;24712:12;24671:55;24755:6;24749:13;24781:46;24820:6;24781:46;:::i;:::-;24856:2;24850:9;24868:31;24896:2;24888:6;24868:31;:::i;:::-;24919:6;24908:17;;24949:6;24941;24934:22;24984:4;24976:6;24972:17;24965:24;;25045:4;25035:6;25032:1;25028:14;25020:6;25016:27;25012:38;24998:52;;25073:3;25065:6;25062:15;25059:35;;;25090:1;25087;25080:12;25059:35;25126:4;25118:6;25114:17;25140:309;25156:6;25151:3;25148:15;25140:309;;;25237:3;25231:10;-1:-1:-1;;;;;25260:11:136;25257:35;25254:55;;;25305:1;25302;25295:12;25254:55;25334:70;25400:3;25393:4;25379:11;25371:6;25367:24;25363:35;25334:70;:::i;:::-;25322:83;;-1:-1:-1;25434:4:136;25425:14;;;;25173;25140:309;;;-1:-1:-1;25467:6:136;24587:892;-1:-1:-1;;;;;24587:892:136:o;25484:777::-;25549:5;25602:3;25595:4;25587:6;25583:17;25579:27;25569:55;;25620:1;25617;25610:12;25569:55;25653:6;25647:13;25679:46;25718:6;25679:46;:::i;:::-;25754:2;25748:9;25766:31;25794:2;25786:6;25766:31;:::i;:::-;25817:6;25806:17;;25847:6;25839;25832:22;25882:4;25874:6;25870:17;25863:24;;25943:4;25933:6;25930:1;25926:14;25918:6;25914:27;25910:38;25896:52;;25971:3;25963:6;25960:15;25957:35;;;25988:1;25985;25978:12;25957:35;26024:4;26016:6;26012:17;26038:193;26054:6;26049:3;26046:15;26038:193;;;26146:10;;26169:18;;26216:4;26207:14;;;;26071;26038:193;;26266:1523;26438:6;26446;26454;26507:2;26495:9;26486:7;26482:23;26478:32;26475:52;;;26523:1;26520;26513:12;26475:52;26556:9;26550:16;-1:-1:-1;;;;;26581:6:136;26578:30;26575:50;;;26621:1;26618;26611:12;26575:50;26644:22;;26697:4;26689:13;;26685:27;-1:-1:-1;26675:55:136;;26726:1;26723;26716:12;26675:55;26759:2;26753:9;26781:46;26820:6;26781:46;:::i;:::-;26856:2;26850:9;26868:31;26896:2;26888:6;26868:31;:::i;:::-;26919:6;26908:17;;26949:6;26941;26934:22;26984:4;26976:6;26972:17;26965:24;;27041:4;27031:6;27028:1;27024:14;27020:2;27016:23;27012:34;26998:48;;27069:7;27061:6;27058:19;27055:39;;;27090:1;27087;27080:12;27055:39;27122:4;27118:2;27114:13;27103:24;;27136:213;27152:6;27147:3;27144:15;27136:213;;;27227:3;27221:10;27244:30;27268:5;27244:30;:::i;:::-;27287:18;;27334:4;27169:14;;;;27325;;;;27136:213;;;27368:6;27358:16;;;;;;27420:4;27409:9;27405:20;27399:27;-1:-1:-1;;;;;27441:8:136;27438:32;27435:52;;;27483:1;27480;27473:12;27435:52;27506:73;27571:7;27560:8;27549:9;27545:24;27506:73;:::i;:::-;27496:83;;;27625:2;27614:9;27610:18;27604:25;-1:-1:-1;;;;;27644:8:136;27641:32;27638:52;;;27686:1;27683;27676:12;27638:52;27709:74;27775:7;27764:8;27753:9;27749:24;27709:74;:::i;:::-;27699:84;;;26266:1523;;;;;:::o;27794:350::-;27914:19;;-1:-1:-1;;;;;;27951:33:136;;;28004:1;27996:10;;27993:145;;;-1:-1:-1;;;;;;28065:1:136;28061:11;;;;28058:1;28054:19;28050:50;;;28042:59;28038:90;;;;27794:350;-1:-1:-1;;27794:350:136:o;28149:267::-;28238:6;28233:3;28226:19;28290:6;28283:5;28276:4;28271:3;28267:14;28254:43;-1:-1:-1;28342:1:136;28317:16;;;28335:4;28313:27;;;28306:38;;;;28398:2;28377:15;;;-1:-1:-1;;28373:29:136;28364:39;;;28360:50;;28149:267::o;28421:501::-;28480:5;28487:6;28547:3;28534:17;28633:2;28629:7;28618:8;28602:14;28598:29;28594:43;28574:18;28570:68;28560:96;;28652:1;28649;28642:12;28560:96;28680:33;;28784:4;28771:18;;;-1:-1:-1;28732:21:136;;-1:-1:-1;;;;;;28801:30:136;;28798:50;;;28844:1;28841;28834:12;28798:50;28891:6;28875:14;28871:27;28864:5;28860:39;28857:59;;;28912:1;28909;28902:12;28927:1126;29232:2;29221:9;29214:21;29195:4;29258:62;29316:2;29305:9;29301:18;29293:6;29285;29258:62;:::i;:::-;-1:-1:-1;;;;;29356:32:136;;29351:2;29336:18;;;29329:60;;;;29425:22;;;29420:2;29405:18;;29398:50;29483:22;;;29521:15;;;;29579:1;29575:14;;;29563:27;;29559:36;29618:6;-1:-1:-1;29652:372:136;29666:6;29663:1;29660:13;29652:372;;;29731:19;;;-1:-1:-1;;29727:33:136;29715:46;;29810:47;29850:6;29842;29810:47;:::i;:::-;29880:64;29937:6;29922:13;29907;29880:64;:::i;:::-;29979:2;30002:12;;;;29870:74;;-1:-1:-1;29967:15:136;;;;;-1:-1:-1;;29688:1:136;29681:9;29652:372;;;-1:-1:-1;30041:6:136;;28927:1126;-1:-1:-1;;;;;;;;;;28927:1126:136:o;30058:179::-;30093:3;30135:1;30117:16;30114:23;30111:120;;;30181:1;30178;30175;30160:23;-1:-1:-1;30218:1:136;30212:8;30207:3;30203:18;30058:179;:::o;30242:628::-;30281:3;30323:4;30305:16;30302:26;30299:39;;;30242:628;:::o;30299:39::-;30365:2;30359:9;30405:16;-1:-1:-1;;30401:29:136;30398:1;30359:9;30377:54;30460:4;30454:11;30534:16;30527:4;30519:6;30515:17;30512:39;-1:-1:-1;;;;;30483:6:136;30480:30;30477:75;30474:88;;;30555:5;;30242:628;:::o;30474:88::-;30592:6;30586:4;30582:17;30628:3;30622:10;-1:-1:-1;;;;;30647:6:136;30644:30;30641:43;;;30677:5;;;;30242:628;:::o;30641:43::-;30742:16;30732:27;;-1:-1:-1;;30728:40:136;30703:16;;;30721:4;30699:27;30696:73;30693:86;;;30772:5;;;;30242:628;:::o;30693:86::-;30788:57;30839:4;30830:6;30822;30818:19;30814:30;30808:4;30788:57;:::i;:::-;-1:-1:-1;30861:3:136;30242:628;-1:-1:-1;;;30242:628:136:o;30875:472::-;30971:6;30979;31032:2;31020:9;31011:7;31007:23;31003:32;31000:52;;;31048:1;31045;31038:12;31000:52;31080:9;31074:16;31099:31;31124:5;31099:31;:::i;:::-;31198:2;31183:18;;31177:25;31149:5;;-1:-1:-1;;;;;;31214:30:136;;31211:50;;;31257:1;31254;31247:12;31211:50;31280:61;31333:7;31324:6;31313:9;31309:22;31280:61;:::i;:::-;31270:71;;;30875:472;;;;;:::o;32051:114::-;32135:4;32128:5;32124:16;32117:5;32114:27;32104:55;;32155:1;32152;32145:12;32170:134;32247:13;;32269:29;32247:13;32269:29;:::i;32309:767::-;32409:6;32462:2;32450:9;32441:7;32437:23;32433:32;32430:52;;;32478:1;32475;32468:12;32430:52;32511:9;32505:16;-1:-1:-1;;;;;32536:6:136;32533:30;32530:50;;;32576:1;32573;32566:12;32530:50;32599:22;;32655:4;32637:16;;;32633:27;32630:47;;;32673:1;32670;32663:12;32630:47;32706:4;32700:11;32720:32;32745:6;32720:32;:::i;:::-;32780:2;32774:9;32792:29;32815:5;32792:29;:::i;:::-;32830:21;;32890:2;32882:11;;32876:18;-1:-1:-1;;;;;32906:32:136;;32903:52;;;32951:1;32948;32941:12;32903:52;32988:56;33036:7;33025:8;33021:2;33017:17;32988:56;:::i;:::-;32983:2;32971:15;;32964:81;-1:-1:-1;32975:6:136;32309:767;-1:-1:-1;;;;32309:767:136:o;33294:336::-;33373:6;33426:2;33414:9;33405:7;33401:23;33397:32;33394:52;;;33442:1;33439;33432:12;33394:52;33475:9;33469:16;-1:-1:-1;;;;;33500:6:136;33497:30;33494:50;;;33540:1;33537;33530:12;33494:50;33563:61;33616:7;33607:6;33596:9;33592:22;33563:61;:::i;33870:1027::-;33971:6;34024:2;34012:9;34003:7;33999:23;33995:32;33992:52;;;34040:1;34037;34030:12;33992:52;34073:9;34067:16;-1:-1:-1;;;;;34098:6:136;34095:30;34092:50;;;34138:1;34135;34128:12;34092:50;34161:22;;34217:4;34199:16;;;34195:27;34192:47;;;34235:1;34232;34225:12;34192:47;34268:2;34262:9;34280:32;34305:6;34280:32;:::i;:::-;34340:2;34334:9;34352:31;34377:5;34352:31;:::i;:::-;34392:21;;34451:2;34443:11;;34437:18;34499:8;34486:22;;34474:35;;34464:63;;34523:1;34520;34513:12;34464:63;34555:2;34543:15;;34536:32;34607:2;34599:11;;34593:18;-1:-1:-1;;;;;34623:32:136;;34620:52;;;34668:1;34665;34658:12;34620:52;34705:56;34753:7;34742:8;34738:2;34734:17;34705:56;:::i;:::-;34700:2;34688:15;;34681:81;-1:-1:-1;34821:2:136;34813:11;;;34807:18;34841:15;;;34834:32;;;;34692:6;33870:1027;-1:-1:-1;;;33870:1027:136:o;34902:127::-;34963:10;34958:3;34954:20;34951:1;34944:31;34994:4;34991:1;34984:15;35018:4;35015:1;35008:15;35034:268;-1:-1:-1;;;;;35118:26:136;;;35146;;;35114:59;35193:36;;;;35248:24;;;35238:58;;35276:18;;:::i;35307:127::-;35368:10;35363:3;35359:20;35356:1;35349:31;35399:4;35396:1;35389:15;35423:4;35420:1;35413:15;35439:194;35478:1;-1:-1:-1;;;;;35509:1:136;35505:26;35550:3;35540:37;;35557:18;;:::i;:::-;35623:3;-1:-1:-1;;;;;35599:1:136;35595:26;35591:36;35586:41;;;35439:194;;;;:::o;35638:166::-;35736:13;;35778:1;35768:12;;35758:40;;35794:1;35791;35784:12;35809:160;35900:13;;35942:2;35932:13;;35922:41;;35959:1;35956;35949:12;35974:1557;36044:5;36097:3;36090:4;36082:6;36078:17;36074:27;36064:55;;36115:1;36112;36105:12;36064:55;36148:6;36142:13;36174:46;36213:6;36174:46;:::i;:::-;36249:2;36243:9;36261:31;36289:2;36281:6;36261:31;:::i;:::-;36312:6;36301:17;;36342:6;36334;36327:22;36377:4;36369:6;36365:17;36358:24;;36438:4;36428:6;36425:1;36421:14;36413:6;36409:27;36405:38;36391:52;;36466:3;36458:6;36455:15;36452:35;;;36483:1;36480;36473:12;36452:35;36519:4;36511:6;36507:17;36533:968;36549:6;36544:3;36541:15;36533:968;;;36630:3;36624:10;-1:-1:-1;;;;;36653:11:136;36650:35;36647:55;;;36698:1;36695;36688:12;36647:55;36725:24;;36784:2;36776:11;;36772:21;-1:-1:-1;36762:49:136;;36807:1;36804;36797:12;36762:49;36846:2;36840:9;36862:34;36887:8;36862:34;:::i;:::-;36922:8;36967:2;36963;36959:11;36999:3;36989:8;36986:17;36983:37;;;37016:1;37013;37006:12;36983:37;37054:4;37050:2;37046:13;37072:351;37090:8;37083:5;37080:19;37072:351;;;37187:5;37181:12;-1:-1:-1;;;;;37216:13:136;37213:37;37210:57;;;37263:1;37260;37253:12;37210:57;37298:68;37362:3;37355:4;37339:13;37335:2;37331:22;37327:33;37298:68;:::i;:::-;37284:83;;-1:-1:-1;37404:4:136;37393:16;;;;37111;37072:351;;;-1:-1:-1;;;37436:21:136;;-1:-1:-1;37486:4:136;37477:14;;;;36566;36533:968;;37536:2372;37664:6;37717:2;37705:9;37696:7;37692:23;37688:32;37685:52;;;37733:1;37730;37723:12;37685:52;37766:9;37760:16;-1:-1:-1;;;;;37791:6:136;37788:30;37785:50;;;37831:1;37828;37821:12;37785:50;37854:22;;37907:4;37899:13;;37895:27;-1:-1:-1;37885:55:136;;37936:1;37933;37926:12;37885:55;37969:2;37963:9;37991:46;38030:6;37991:46;:::i;:::-;38066:2;38060:9;38078:31;38106:2;38098:6;38078:31;:::i;:::-;38129:6;38118:17;;38159:6;38151;38144:22;38194:2;38186:6;38182:15;38175:22;;38249:2;38239:6;38236:1;38232:14;38228:2;38224:23;38220:32;38206:46;;38275:7;38267:6;38264:19;38261:39;;;38296:1;38293;38286:12;38261:39;38328:2;38324;38320:11;38340:1537;38356:6;38351:3;38348:15;38340:1537;;;38435:3;38429:10;-1:-1:-1;;;;;38458:11:136;38455:35;38452:55;;;38503:1;38500;38493:12;38452:55;38530:20;;38602:4;38574:16;;;-1:-1:-1;;38570:30:136;38566:41;38563:61;;;38620:1;38617;38610:12;38563:61;38650:17;;:::i;:::-;38694:40;38730:2;38726;38722:11;38694:40;:::i;:::-;38687:5;38680:55;38771:61;38828:2;38824;38820:11;38771:61;:::i;:::-;38766:2;38759:5;38755:14;38748:85;38869:54;38919:2;38915;38911:11;38869:54;:::i;:::-;38864:2;38857:5;38853:14;38846:78;38967:3;38963:2;38959:12;38953:19;-1:-1:-1;;;;;38991:8:136;38988:32;38985:52;;;39033:1;39030;39023:12;38985:52;39073:65;39130:7;39125:2;39114:8;39110:2;39106:17;39102:26;39073:65;:::i;:::-;39068:2;39061:5;39057:14;39050:89;;39182:3;39178:2;39174:12;39168:19;-1:-1:-1;;;;;39206:8:136;39203:32;39200:52;;;39248:1;39245;39238:12;39200:52;39289:65;39346:7;39341:2;39330:8;39326:2;39322:17;39318:26;39289:65;:::i;:::-;39283:3;39276:5;39272:15;39265:90;;39398:3;39394:2;39390:12;39384:19;-1:-1:-1;;;;;39422:8:136;39419:32;39416:52;;;39464:1;39461;39454:12;39416:52;39505:81;39578:7;39573:2;39562:8;39558:2;39554:17;39550:26;39505:81;:::i;:::-;39499:3;39492:5;39488:15;39481:106;;39630:4;39626:2;39622:13;39616:20;-1:-1:-1;;;;;39655:8:136;39652:32;39649:52;;;39697:1;39694;39687:12;39649:52;39738:65;39795:7;39790:2;39779:8;39775:2;39771:17;39767:26;39738:65;:::i;:::-;39732:3;39721:15;;39714:90;-1:-1:-1;39817:18:136;;-1:-1:-1;39864:2:136;39855:12;;;;38373;38340:1537;;;-1:-1:-1;39896:6:136;37536:2372;-1:-1:-1;;;;;;37536:2372:136:o;39913:240::-;40003:6;40056:2;40044:9;40035:7;40031:23;40027:32;40024:52;;;40072:1;40069;40062:12;40024:52;40095;40137:9;40095:52;:::i;40158:326::-;40353:2;40342:9;40335:21;40316:4;40373:62;40431:2;40420:9;40416:18;40408:6;40400;40373:62;:::i;:::-;40365:70;;40471:6;40466:2;40455:9;40451:18;40444:34;40158:326;;;;;;:::o;40489:255::-;40656:2;40645:9;40638:21;40619:4;40676:62;40734:2;40723:9;40719:18;40711:6;40703;40676:62;:::i;40749:127::-;40810:10;40805:3;40801:20;40798:1;40791:31;40841:4;40838:1;40831:15;40865:4;40862:1;40855:15;40881:441;41102:2;41091:9;41084:21;41065:4;41128:62;41186:2;41175:9;41171:18;41163:6;41155;41128:62;:::i;:::-;41238:9;41230:6;41226:22;41221:2;41210:9;41206:18;41199:50;41266;41309:6;41301;41293;41266:50;:::i;:::-;41258:58;40881:441;-1:-1:-1;;;;;;;40881:441:136:o;41327:251::-;41397:6;41450:2;41438:9;41429:7;41425:23;41421:32;41418:52;;;41466:1;41463;41456:12;41418:52;41498:9;41492:16;41517:31;41542:5;41517:31;:::i;41583:413::-;41825:1;41821;41816:3;41812:11;41808:19;41800:6;41796:32;41785:9;41778:51;41865:6;41860:2;41849:9;41845:18;41838:34;41908:2;41903;41892:9;41888:18;41881:30;41759:4;41928:62;41986:2;41975:9;41971:18;41963:6;41955;41928:62;:::i;:::-;41920:70;41583:413;-1:-1:-1;;;;;;41583:413:136:o;42001:129::-;-1:-1:-1;;;;;42079:5:136;42075:30;42068:5;42065:41;42055:69;;42120:1;42117;42110:12;42135:553;42223:6;42283:2;42271:9;42262:7;42258:23;42254:32;42298:2;42295:22;;;42313:1;42310;42303:12;42295:22;-1:-1:-1;42362:2:136;42356:9;42374:32;42356:9;42374:32;:::i;:::-;42441:9;42428:23;42460:29;42483:5;42460:29;:::i;:::-;42498:21;;42571:2;42556:18;;42543:32;42584;42543;42584;:::i;:::-;42644:2;42632:15;;42625:32;42636:6;42135:553;-1:-1:-1;;;42135:553:136:o;42693:261::-;42794:6;42847:2;42835:9;42826:7;42822:23;42818:32;42815:52;;;42863:1;42860;42853:12;42815:52;-1:-1:-1;42908:16:136;;42693:261;-1:-1:-1;42693:261:136:o;43300:799::-;43394:6;43454:3;43442:9;43433:7;43429:23;43425:33;43470:2;43467:22;;;43485:1;43482;43475:12;43467:22;-1:-1:-1;43534:2:136;43528:9;43546:32;43528:9;43546:32;:::i;:::-;43606:9;43600:16;43625:30;43649:5;43625:30;:::i;:::-;43664:21;;43730:2;43715:18;;43709:25;43743:32;43709:25;43743:32;:::i;:::-;43803:2;43791:15;;43784:32;43882:2;43867:18;;;43861:25;43902:15;;;43895:32;43972:2;43957:18;;43951:25;44007:1;43995:14;;43985:42;;44023:1;44020;44013:12;43985:42;44055:2;44043:15;;44036:32;44047:6;43300:799;-1:-1:-1;;;43300:799:136:o;44104:380::-;44183:1;44179:12;;;;44226;;;44247:61;;44301:4;44293:6;44289:17;44279:27;;44247:61;44354:2;44346:6;44343:14;44323:18;44320:38;44317:161;;44400:10;44395:3;44391:20;44388:1;44381:31;44435:4;44432:1;44425:15;44463:4;44460:1;44453:15;44489:1124;44591:6;44644:2;44632:9;44623:7;44619:23;44615:32;44612:52;;;44660:1;44657;44650:12;44612:52;44693:9;44687:16;-1:-1:-1;;;;;44718:6:136;44715:30;44712:50;;;44758:1;44755;44748:12;44712:50;44781:22;;44837:4;44819:16;;;44815:27;44812:47;;;44855:1;44852;44845:12;44812:47;44888:2;44882:9;44900:32;44925:6;44900:32;:::i;:::-;44960:2;44954:9;44972:31;44997:5;44972:31;:::i;:::-;45012:21;;45071:2;45063:11;;45057:18;45084:32;45057:18;45084:32;:::i;:::-;45144:2;45132:15;;45125:32;45216:2;45208:11;;;45202:18;45236:15;;;45229:32;45300:2;45292:11;;45286:18;-1:-1:-1;;;;;45316:32:136;;45313:52;;;45361:1;45358;45351:12;45313:52;45398:56;45446:7;45435:8;45431:2;45427:17;45398:56;:::i;:::-;45393:2;45385:6;45381:15;45374:81;;45493:3;45489:2;45485:12;45479:19;45464:34;;45507:33;45532:7;45507:33;:::i;:::-;45568:3;45556:16;;45549:33;;;;45560:6;44489:1124;-1:-1:-1;;;44489:1124:136:o;45618:285::-;45713:6;45766:2;45754:9;45745:7;45741:23;45737:32;45734:52;;;45782:1;45779;45772:12;45734:52;45814:9;45808:16;45853:1;45846:5;45843:12;45833:40;;45869:1;45866;45859:12;45908:243;45965:6;46018:2;46006:9;45997:7;45993:23;45989:32;45986:52;;;46034:1;46031;46024:12;45986:52;46073:9;46060:23;46092:29;46115:5;46092:29;:::i;46156:245::-;46214:6;46267:2;46255:9;46246:7;46242:23;46238:32;46235:52;;;46283:1;46280;46273:12;46235:52;46322:9;46309:23;46341:30;46365:5;46341:30;:::i;46406:678::-;46484:3;46515;46539:6;46534:3;46527:19;46571:4;46566:3;46562:14;46555:21;;46629:4;46619:6;46616:1;46612:14;46605:5;46601:26;46597:37;46657:5;46680:1;46690:368;46704:6;46701:1;46698:13;46690:368;;;46769:16;;;-1:-1:-1;;46765:30:136;46753:43;;46845:46;46884:6;46877:5;46845:46;:::i;:::-;46912:62;46969:4;46954:13;46939;46912:62;:::i;:::-;47009:4;47034:14;;;;46904:70;;-1:-1:-1;46997:17:136;;;;;-1:-1:-1;;46726:1:136;46719:9;46690:368;;47089:1308;47363:2;47375:21;;;47348:18;;47431:22;;;-1:-1:-1;47484:2:136;47533:1;47529:14;;;47514:30;;47510:39;;;47469:18;;47572:6;-1:-1:-1;;;47624:14:136;47620:27;;;47616:41;47666:702;47680:6;47677:1;47674:13;47666:702;;;47745:22;;;-1:-1:-1;;47741:36:136;47729:49;;47817:20;;47860:27;;;47850:55;;47901:1;47898;47891:12;47850:55;47931:31;;48047:2;48036:14;;;47989:19;-1:-1:-1;;;;;48066:30:136;;48063:50;;;48109:1;48106;48099:12;48063:50;48169:6;48166:1;48162:14;48146;48142:35;48133:7;48129:49;48126:69;;;48191:1;48188;48181:12;48126:69;48218:70;48281:6;48273;48264:7;48218:70;:::i;:::-;48208:80;;;;48323:2;48315:6;48311:15;48301:25;;48355:2;48350:3;48346:12;48339:19;;47702:1;47699;47695:9;47690:14;;47666:702;;;-1:-1:-1;48385:6:136;;47089:1308;-1:-1:-1;;;;;;;47089:1308:136:o;48402:280::-;48490:6;48543:2;48531:9;48522:7;48518:23;48514:32;48511:52;;;48559:1;48556;48549:12;48511:52;48591:9;48585:16;48630:3;48623:5;48620:14;48610:42;;48648:1;48645;48638:12;49403:343;49482:6;49490;49543:2;49531:9;49522:7;49518:23;49514:32;49511:52;;;49559:1;49556;49549:12;49511:52;-1:-1:-1;;49604:16:136;;49710:2;49695:18;;;49689:25;49604:16;;49689:25;;-1:-1:-1;49403:343:136:o;49751:128::-;49818:9;;;49839:11;;;49836:37;;;49853:18;;:::i;50357:986::-;50462:6;50470;50514:9;50505:7;50501:23;50544:3;50540:2;50536:12;50533:32;;;50561:1;50558;50551:12;50533:32;50593:9;50587:16;50612:30;50636:5;50612:30;:::i;:::-;50661:5;-1:-1:-1;50700:4:136;-1:-1:-1;;50682:16:136;;50678:27;50675:47;;;50718:1;50715;50708:12;50675:47;;50751:2;50745:9;50793:4;50785:6;50781:17;50864:6;50852:10;50849:22;-1:-1:-1;;;;;50816:10:136;50813:34;50810:62;50807:88;;;50875:18;;:::i;:::-;50911:2;50904:22;50971:2;50956:18;;50950:25;50984:32;50950:25;50984:32;:::i;:::-;51025:23;;51093:2;51078:18;;51072:25;51106:32;51072:25;51106:32;:::i;:::-;51166:2;51154:15;;51147:32;51224:4;51209:20;;51203:27;51239:32;51203:27;51239:32;:::i;:::-;51299:2;51287:15;;51280:32;50357:986;;51291:6;;-1:-1:-1;50357:986:136;;-1:-1:-1;;50357:986:136:o;52325:155::-;52416:6;52393:14;;;52409;;;52389:35;;52436:15;;52433:41;;;52454:18;;:::i;52720:168::-;52793:9;;;52824;;52841:15;;;52835:22;;52821:37;52811:71;;52862:18;;:::i;52893:120::-;52933:1;52959;52949:35;;52964:18;;:::i;:::-;-1:-1:-1;52998:9:136;;52893:120::o;53018:367::-;53250:3;53278:30;53304:3;53296:6;53278:30;:::i;:::-;-1:-1:-1;;;53317:35:136;;53376:2;53368:11;;53018:367;-1:-1:-1;;;53018:367:136:o;53828:125::-;53893:9;;;53914:10;;;53911:36;;;53927:18;;:::i",
  "source": "// SPDX-License-Identifier: MIT\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport \"../WitPriceFeedsLegacy.sol\";\r\n\r\nimport \"../core/WitnetUpgradableBase.sol\";\r\nimport \"../data/WitPriceFeedsLegacyDataLib.sol\";\r\nimport \"../interfaces/legacy/IWitOracleLegacy.sol\";\r\nimport \"../patterns/Ownable2Step.sol\";\r\n\r\n/// @title WitPriceFeeds: Price Feeds upgradable repository reliant on the Wit/Oracle blockchain.\r\n/// @author Guillermo Díaz <guillermo@witnet.io>\r\n\r\ncontract WitPriceFeedsLegacyUpgradable\r\n    is\r\n        WitPriceFeedsLegacy,\r\n        Ownable2Step,\r\n        WitnetUpgradableBase\r\n{\r\n    using Witnet for bytes;\r\n    using Witnet for Witnet.DataResult;\r\n    using Witnet for Witnet.QueryResponse;\r\n    using Witnet for Witnet.QuerySLA;\r\n    using Witnet for Witnet.ResultStatus;\r\n\r\n    function class() virtual override public view returns (string memory) {\r\n        return type(WitPriceFeedsLegacyUpgradable).name;\r\n    }\r\n\r\n    address immutable public override witOracle;\r\n    IWitOracleRadonRegistry immutable internal __registry;\r\n\r\n    Witnet.QuerySLA private __defaultQuerySLA;\r\n    uint16 private __baseFeeOverheadPercentage;\r\n    \r\n    constructor(\r\n            WitOracle _witOracle,\r\n            bytes32 _versionTag,\r\n            bool _upgradable\r\n        )\r\n        Ownable(address(msg.sender))\r\n        WitnetUpgradableBase(\r\n            _upgradable,\r\n            _versionTag,\r\n            \"io.witnet.proxiable.feeds.price\"\r\n        )\r\n    {\r\n        _require(\r\n            address(_witOracle).code.length > 0,\r\n            \"inexistent oracle\"\r\n        );\r\n        _require(\r\n            _witOracle.specs() == (\r\n                type(IWitOracle).interfaceId\r\n                    ^ type(IWitOracleQueriable).interfaceId\r\n            ), \"uncompliant oracle\"\r\n        );\r\n        witOracle = address(_witOracle);\r\n    }\r\n\r\n    function _registry() virtual internal view returns (IWitOracleRadonRegistry) {\r\n        return IWitOracle(witOracle).registry();\r\n    }\r\n\r\n    // solhint-disable-next-line payable-fallback\r\n    fallback() override external {\r\n        if (\r\n            msg.sig == IWitPriceFeedsLegacySolver.solve.selector\r\n                && msg.sender == address(this)\r\n        ) {\r\n            address _solver = WitPriceFeedsLegacyDataLib.seekRecord(bytes4(bytes8(msg.data) << 32)).solver;\r\n            _require(\r\n                _solver != address(0),\r\n                \"unsettled solver\"\r\n            );\r\n            assembly {\r\n                let ptr := mload(0x40)\r\n                calldatacopy(ptr, 0, calldatasize())\r\n                let result := delegatecall(gas(), _solver, ptr, calldatasize(), 0, 0)\r\n                let size := returndatasize()\r\n                returndatacopy(ptr, 0, size)\r\n                switch result\r\n                    case 0 { revert(ptr, size) }\r\n                    default { return(ptr, size) }\r\n            }\r\n        } else {\r\n            _revert(\"not implemented\");\r\n        }\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides 'Upgradeable' ------------------------------------------------------------------------------------\r\n\r\n    /// @notice Re-initialize contract's storage context upon a new upgrade from a proxy.\r\n    function __initializeUpgradableData(bytes memory _initData) virtual override internal {\r\n        if (__proxiable().codehash == bytes32(0)) {\r\n            __defaultQuerySLA = Witnet.QuerySLA({\r\n                witCommitteeSize: 3,\r\n                witUnitaryReward: 200_000_000, \r\n                witResultMaxSize: 16\r\n            });\r\n            // settle default base fee overhead percentage\r\n            __baseFeeOverheadPercentage = 10;\r\n        \r\n        } else {\r\n            // otherwise, store beacon read from _initData, if any\r\n            if (_initData.length > 0) {\r\n                (uint16 _baseFeeOverheadPercentage, Witnet.QuerySLA memory _defaultQuerySLA) = abi.decode(\r\n                    _initData, (uint16, Witnet.QuerySLA)\r\n                );\r\n                __baseFeeOverheadPercentage = _baseFeeOverheadPercentage;\r\n                __defaultQuerySLA = _defaultQuerySLA;\r\n            \r\n            } else if (!__defaultQuerySLA.isValid()) {\r\n                // possibly, an upgrade from a previous branch took place:\r\n                __defaultQuerySLA = Witnet.QuerySLA({\r\n                    witCommitteeSize: 3,\r\n                    witUnitaryReward: 200_000_000, \r\n                    witResultMaxSize: 16\r\n                });\r\n            }\r\n        }\r\n    }\r\n\r\n    /// Tells whether provided address could eventually upgrade the contract.\r\n    function isUpgradableFrom(address _from) external view override returns (bool) {\r\n        address _owner = owner();\r\n        return (\r\n            // false if the WRB is intrinsically not upgradable, or `_from` is no owner\r\n            isUpgradable()\r\n                && _owner == _from\r\n        );\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitFeeds' -------------------------------------------------------------------------------------\r\n\r\n    function estimateUpdateBaseFee(uint256 _evmGasPrice) virtual override public view returns (uint256) {\r\n        return _estimateUpdateRequestFee(_evmGasPrice);\r\n    }\r\n    \r\n    function _estimateUpdateRequestFee(uint256 _evmGasPrice) internal view returns (uint) {\r\n        return (\r\n            IWitOracleQueriable(witOracle).estimateBaseFee(_evmGasPrice)\r\n                * (100 + __baseFeeOverheadPercentage)\r\n        ) / 100; \r\n    }\r\n    \r\n    /// @notice Returns unique hash determined by the combination of data sources being used\r\n    /// @notice on non-routed price feeds, and dependencies of routed price feeds.\r\n    /// @dev Ergo, `footprint()` changes if any data source is modified, or the dependecy tree\r\n    /// @dev on any routed price feed is altered.\r\n    function footprint() \r\n        virtual override\r\n        public view\r\n        returns (bytes4 _footprint)\r\n    {\r\n        if (__storage().ids.length > 0) {\r\n            _footprint = _footprintOf(__storage().ids[0]);\r\n            for (uint _ix = 1; _ix < __storage().ids.length; _ix ++) {\r\n                _footprint ^= _footprintOf(__storage().ids[_ix]);\r\n            }\r\n        }\r\n    }\r\n\r\n    function hash(string memory caption)\r\n        virtual override\r\n        public pure\r\n        returns (bytes4)\r\n    {\r\n        return WitPriceFeedsLegacyDataLib.hash(caption);\r\n    }\r\n\r\n    function lookupCaption(bytes4 feedId)\r\n        override\r\n        public view\r\n        returns (string memory)\r\n    {\r\n        return WitPriceFeedsLegacyDataLib.seekRecord(feedId).caption;\r\n    }\r\n\r\n    function supportedFeeds()\r\n        virtual override\r\n        external view\r\n        returns (bytes4[] memory _ids, string[] memory _captions, bytes32[] memory _solvers)\r\n    {\r\n        return WitPriceFeedsLegacyDataLib.supportedFeeds();\r\n    }\r\n    \r\n    function supportsCaption(string calldata caption)\r\n        virtual override\r\n        external view\r\n        returns (bool)\r\n    {\r\n        bytes4 feedId = hash(caption);\r\n        return hash(WitPriceFeedsLegacyDataLib.seekRecord(feedId).caption) == feedId;\r\n    }\r\n    \r\n    function totalFeeds() \r\n        override \r\n        external view\r\n        returns (uint256)\r\n    {\r\n        return __storage().ids.length;\r\n    }\r\n\r\n    function lastValidQueryId(bytes4 feedId)\r\n        override public view\r\n        returns (uint256)\r\n    {\r\n        return WitPriceFeedsLegacyDataLib.lastValidQueryId(IWitOracleQueriable(witOracle), feedId);\r\n    }\r\n\r\n    function lastValidQueryResponse(bytes4 feedId)\r\n        override public view\r\n        returns (Witnet.QueryResponse memory)\r\n    {\r\n        return IWitOracleQueriable(witOracle).getQueryResponse(Witnet.QueryId.wrap(uint64(\r\n            WitPriceFeedsLegacyDataLib.lastValidQueryId(IWitOracleQueriable(witOracle), feedId)\r\n        )));\r\n    }\r\n\r\n    function latestUpdateQueryId(bytes4 feedId)\r\n        override public view\r\n        returns (uint256)\r\n    {\r\n        return WitPriceFeedsLegacyDataLib.seekRecord(feedId).latestUpdateQueryId;\r\n    }\r\n\r\n    function latestUpdateQueryRequest(bytes4 feedId)\r\n        override external view \r\n        returns (Witnet.QueryRequest memory)\r\n    {\r\n        return IWitOracleQueriable(witOracle).getQueryRequest(Witnet.QueryId.wrap(uint64(\r\n            latestUpdateQueryId(feedId)\r\n        )));\r\n    }\r\n\r\n    function lookupWitnetBytecode(bytes4 feedId)\r\n        override public view\r\n        returns (bytes memory)\r\n    {\r\n        WitPriceFeedsLegacyDataLib.Record storage __record = WitPriceFeedsLegacyDataLib.seekRecord(feedId);\r\n        _require(\r\n            __record.radHash != 0,\r\n            \"no RAD hash\"\r\n        );\r\n        return _registry().lookupRadonRequestBytecode(Witnet.RadonHash.wrap(__record.radHash));\r\n    }\r\n\r\n    function lookupWitnetRadHash(bytes4 feedId)\r\n        override public view\r\n        returns (bytes32)\r\n    {\r\n        return WitPriceFeedsLegacyDataLib.seekRecord(feedId).radHash;\r\n    }\r\n\r\n    function lookupWitnetRetrievals(bytes4 feedId)\r\n        override external view\r\n        returns (Witnet.RadonRetrieval[] memory _retrievals)\r\n    {\r\n        return _registry().lookupRadonRequestRetrievals(\r\n            Witnet.RadonHash.wrap(lookupWitnetRadHash(feedId))\r\n        );\r\n    }\r\n\r\n    function requestUpdate(bytes4 feedId)\r\n        external payable\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return __requestUpdate(feedId, __defaultQuerySLA);\r\n    }\r\n    \r\n\r\n    /// ===============================================================================================================\r\n    /// --- IWitFeedsLegacy -------------------------------------------------------------------------------------------\r\n    \r\n    function defaultRadonSLA() override external view returns (IWitPriceFeedsLegacy.RadonSLAv1 memory) {\r\n        uint8 _numWitnesses = uint8(__defaultQuerySLA.witCommitteeSize);\r\n        uint64 _unitaryReward = __defaultQuerySLA.witUnitaryReward;\r\n        return IWitPriceFeedsLegacy.RadonSLAv1({\r\n            numWitnesses: _numWitnesses,\r\n            minConsensusPercentage: 51,\r\n            witnessReward: _unitaryReward,\r\n            witnessCollateral: _unitaryReward * _numWitnesses,\r\n            minerCommitRevealFee: _unitaryReward / _numWitnesses\r\n        });\r\n    }\r\n\r\n    function latestUpdateResponse(bytes4 feedId) \r\n        override external view \r\n        returns (Witnet.QueryResponse memory)\r\n    {\r\n        return IWitOracleQueriable(witOracle).getQueryResponse(Witnet.QueryId.wrap(uint64(\r\n            latestUpdateQueryId(feedId)\r\n        )));\r\n    }\r\n\r\n    function latestUpdateResponseStatus(bytes4 feedId)\r\n        override public view\r\n        returns (IWitOracleLegacy.QueryResponseStatus)\r\n    {\r\n        return IWitOracleLegacy(witOracle).getQueryResponseStatus(latestUpdateQueryId(feedId));\r\n    }\r\n\r\n    function latestUpdateResultError(bytes4 feedId)\r\n        override external view \r\n        returns (IWitOracleLegacy.ResultError memory)\r\n    {\r\n        return IWitOracleLegacy(witOracle).getQueryResultError(latestUpdateQueryId(feedId));\r\n    }\r\n    \r\n    function requestUpdate(bytes4 feedId, IWitPriceFeedsLegacy.RadonSLAv2 calldata legacySLA)\r\n        external payable\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return __requestUpdate(feedId, _intoQuerySLA(legacySLA));\r\n    }\r\n\r\n    function witnet() virtual override external view returns (address) {\r\n        return address(witOracle);\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitPriceFeedsLegacyAdmin' -----------------------------------------------------------------------------\r\n\r\n    function owner()\r\n        virtual override (IWitPriceFeedsLegacyAdmin, Ownable)\r\n        public view \r\n        returns (address)\r\n    {\r\n        return Ownable.owner();\r\n    }\r\n    \r\n    function acceptOwnership()\r\n        virtual override (IWitPriceFeedsLegacyAdmin, Ownable2Step)\r\n        public\r\n    {\r\n        Ownable2Step.acceptOwnership();\r\n    }\r\n\r\n    function baseFeeOverheadPercentage()\r\n        virtual override\r\n        external view\r\n        returns (uint16)\r\n    {\r\n        return __baseFeeOverheadPercentage;\r\n    }\r\n\r\n    function pendingOwner() \r\n        virtual override (IWitPriceFeedsLegacyAdmin, Ownable2Step)\r\n        public view\r\n        returns (address)\r\n    {\r\n        return Ownable2Step.pendingOwner();\r\n    }\r\n    \r\n    function transferOwnership(address _newOwner)\r\n        virtual override (IWitPriceFeedsLegacyAdmin, Ownable2Step)\r\n        public \r\n        onlyOwner\r\n    {\r\n        Ownable.transferOwnership(_newOwner);\r\n    }\r\n\r\n    function deleteFeed(string calldata caption) virtual override external onlyOwner {\r\n        try WitPriceFeedsLegacyDataLib.deleteFeed(caption) {\r\n        \r\n        } catch Error(string memory _reason) {\r\n            _revert(_reason);\r\n\r\n        } catch (bytes memory) {\r\n            _revertWitPriceFeedsLegacyDataLibUnhandledException();\r\n        }\r\n    }\r\n\r\n    function deleteFeeds() virtual override external onlyOwner {\r\n        try WitPriceFeedsLegacyDataLib.deleteFeeds() {\r\n        \r\n        } catch Error(string memory _reason) {\r\n            _revert(_reason);\r\n\r\n        } catch (bytes memory) {\r\n            _revertWitPriceFeedsLegacyDataLibUnhandledException();\r\n        }\r\n    }\r\n\r\n    function settleBaseFeeOverheadPercentage(uint16 _baseFeeOverheadPercentage)\r\n        virtual override\r\n        external\r\n        onlyOwner \r\n    {\r\n        __baseFeeOverheadPercentage = _baseFeeOverheadPercentage;\r\n    }\r\n\r\n    function settleDefaultRadonSLA(RadonSLAv2 calldata radonSLAv2)\r\n        override public\r\n        onlyOwner\r\n    {\r\n        __defaultQuerySLA.witCommitteeSize = radonSLAv2.numWitnesses;\r\n        __defaultQuerySLA.witUnitaryReward = radonSLAv2.unitaryReward;\r\n        _require(\r\n            __defaultQuerySLA.isValid(), \r\n            \"invalid update SLA\"\r\n        );\r\n    }\r\n    \r\n    function settleFeedRequest(string calldata caption, bytes32 radHash)\r\n        override public\r\n        onlyOwner\r\n    {\r\n        _require(\r\n            _registry().lookupRadonRequestResultDataType(Witnet.RadonHash.wrap(radHash)) == dataType,\r\n            \"bad result data type\"\r\n        );\r\n        try WitPriceFeedsLegacyDataLib.settleFeedRequest(caption, radHash) {\r\n\r\n        } catch Error(string memory _reason) {\r\n            _revert(_reason);\r\n        \r\n        } catch (bytes memory) {\r\n            _revertWitPriceFeedsLegacyDataLibUnhandledException();\r\n        }\r\n    }\r\n\r\n    function settleFeedRequest(string calldata caption, IWitOracleRequest request)\r\n        override external\r\n        onlyOwner\r\n    {\r\n        settleFeedRequest(caption, Witnet.RadonHash.unwrap(request.radHash()));\r\n    }\r\n\r\n    function settleFeedRequest(\r\n            string calldata caption,\r\n            IWitOracleRequestTemplate template,\r\n            string[][] calldata args\r\n        )\r\n        override external\r\n        onlyOwner\r\n    {\r\n        settleFeedRequest(caption, Witnet.RadonHash.unwrap(template.verifyRadonRequest(args)));\r\n    }\r\n\r\n    function settleFeedSolver(\r\n            string calldata caption,\r\n            address solver,\r\n            string[] calldata deps\r\n        )\r\n        override external\r\n        onlyOwner\r\n    {\r\n        _require(\r\n            bytes6(bytes(caption)) == bytes6(__prefix),\r\n            \"bad caption prefix\"\r\n        );\r\n        _require(\r\n            solver != address(0),\r\n            \"no solver address\"\r\n        );\r\n        try WitPriceFeedsLegacyDataLib.settleFeedSolver(caption, solver, deps) {\r\n        \r\n        } catch Error(string memory _reason) {\r\n            _revert(_reason);\r\n        \r\n        } catch (bytes memory) {\r\n            _revertWitPriceFeedsLegacyDataLibUnhandledException();\r\n        }\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitPriceFeeds' -----------------------------------------------------------------------------\r\n\r\n    function lookupDecimals(bytes4 feedId) \r\n        override \r\n        external view\r\n        returns (uint8)\r\n    {\r\n        return WitPriceFeedsLegacyDataLib.seekRecord(feedId).decimals;\r\n    }\r\n    \r\n    function lookupPriceSolver(bytes4 feedId)\r\n        override\r\n        external view\r\n        returns (address _solverAddress, string[] memory _solverDeps)\r\n    {\r\n        return WitPriceFeedsLegacyDataLib.seekPriceSolver(feedId);\r\n    }\r\n\r\n    function latestPrice(bytes4 feedId)\r\n        virtual override\r\n        public view\r\n        returns (IWitPriceFeedsLegacySolver.Price memory)\r\n    {\r\n        try WitPriceFeedsLegacyDataLib.latestPrice(\r\n            IWitOracleQueriable(witOracle), \r\n            feedId\r\n        ) returns (IWitPriceFeedsLegacySolver.Price memory _latestPrice) {\r\n            return _latestPrice;\r\n        \r\n        } catch Error(string memory _reason) {\r\n            _revert(_reason);\r\n        \r\n        } catch (bytes memory) {\r\n            _revertWitPriceFeedsLegacyDataLibUnhandledException();\r\n        }\r\n    }\r\n\r\n    function latestPrices(bytes4[] calldata feedIds)\r\n        virtual override\r\n        external view\r\n        returns (IWitPriceFeedsLegacySolver.Price[] memory _prices)\r\n    {\r\n        _prices = new IWitPriceFeedsLegacySolver.Price[](feedIds.length);\r\n        for (uint _ix = 0; _ix < feedIds.length; _ix ++) {\r\n            _prices[_ix] = latestPrice(feedIds[_ix]);\r\n        }\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitPriceFeedsLegacySolverFactory' ---------------------------------------------------------------------\r\n\r\n    function deployPriceSolver(bytes calldata initcode, bytes calldata constructorParams)\r\n        virtual override external\r\n        onlyOwner\r\n        returns (address)\r\n    {\r\n        try WitPriceFeedsLegacyDataLib.deployPriceSolver(\r\n            initcode, \r\n            constructorParams\r\n        ) returns (\r\n            address _solver\r\n        ) {\r\n            emit NewPriceFeedsSolver(\r\n                _solver, \r\n                _solver.codehash, \r\n                constructorParams\r\n            );\r\n            return _solver;\r\n        \r\n        } catch Error(string memory _reason) {\r\n            _revert(_reason);\r\n\r\n        } catch (bytes memory) {\r\n            _revertWitPriceFeedsLegacyDataLibUnhandledException();\r\n        }\r\n    }\r\n\r\n    function determinePriceSolverAddress(bytes calldata initcode, bytes calldata constructorParams)\r\n        virtual override public view\r\n        returns (address _address)\r\n    {\r\n        return WitPriceFeedsLegacyDataLib.determinePriceSolverAddress(initcode, constructorParams);\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IERC2362' --------------------------------------------------------------------------------------\r\n    \r\n    function valueFor(bytes32 feedId)\r\n        virtual override\r\n        external view\r\n        returns (int256 _value, uint256 _timestamp, uint256 _status)\r\n    {\r\n        IWitPriceFeedsLegacySolver.Price memory _latestPrice = latestPrice(bytes4(feedId));\r\n        return (\r\n            int(uint(_latestPrice.value)),\r\n            Witnet.Timestamp.unwrap(_latestPrice.timestamp),\r\n            (_latestPrice.latestStatus == IWitPriceFeedsLegacySolver.LatestUpdateStatus.Ready\r\n                ? 200\r\n                : (_latestPrice.latestStatus == IWitPriceFeedsLegacySolver.LatestUpdateStatus.Awaiting\r\n                    ? 404 \r\n                    : 400\r\n                )\r\n            )\r\n        );\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Internal methods -------------------------------------------------------------------------------------------\r\n\r\n    function _footprintOf(bytes4 _id4) virtual internal view returns (bytes4) {\r\n        if (WitPriceFeedsLegacyDataLib.seekRecord(_id4).radHash != bytes32(0)) {\r\n            return bytes4(keccak256(abi.encode(_id4, WitPriceFeedsLegacyDataLib.seekRecord(_id4).radHash)));\r\n        } else {\r\n            return bytes4(keccak256(abi.encode(_id4, WitPriceFeedsLegacyDataLib.seekRecord(_id4).solverDepsFlag)));\r\n        }\r\n    }\r\n\r\n    function _intoQuerySLA(IWitPriceFeedsLegacy.RadonSLAv2 memory _updateSLA) internal view returns (Witnet.QuerySLA memory) {\r\n        if (\r\n            _updateSLA.numWitnesses >= __defaultQuerySLA.witCommitteeSize\r\n                && _updateSLA.unitaryReward >= __defaultQuerySLA.witUnitaryReward\r\n        ) {\r\n            return Witnet.QuerySLA({\r\n                witCommitteeSize: _updateSLA.numWitnesses,\r\n                witUnitaryReward: _updateSLA.unitaryReward,\r\n                witResultMaxSize: __defaultQuerySLA.witResultMaxSize\r\n            });\r\n        \r\n        } else {\r\n            _revert(\"unsecure update request\");\r\n        }\r\n    }\r\n\r\n    function _validateCaption(string calldata caption)\r\n        internal view returns (uint8)\r\n    {\r\n        _require(\r\n            bytes6(bytes(caption)) == bytes6(__prefix),\r\n            \"bad caption prefix\"\r\n        );\r\n        try WitPriceFeedsLegacyDataLib.validateCaption(caption) returns (uint8 _decimals) {\r\n            return _decimals;\r\n        \r\n        } catch Error(string memory _reason) {\r\n            _revert(_reason);\r\n\r\n        } catch (bytes memory) {\r\n            _revertWitPriceFeedsLegacyDataLibUnhandledException();\r\n        }\r\n    }\r\n\r\n    function _revertWitPriceFeedsLegacyDataLibUnhandledException() internal view {\r\n        _revert(_revertWitPriceFeedsLegacyDataLibUnhandledExceptionReason());\r\n    }\r\n\r\n    function _revertWitPriceFeedsLegacyDataLibUnhandledExceptionReason() internal pure returns (string memory) {\r\n        return string(abi.encodePacked(\r\n            type(WitPriceFeedsLegacyDataLib).name,\r\n            \": unhandled assertion\"\r\n        ));\r\n    }\r\n\r\n    function __requestUpdate(bytes4[] memory _deps, IWitPriceFeedsLegacy.RadonSLAv2 memory sla)\r\n        virtual internal\r\n        returns (uint256 _evmUsedFunds)\r\n    {\r\n        uint _evmUnitaryUpdateRequestFee = msg.value / _deps.length;\r\n        for (uint _ix = 0; _ix < _deps.length; _ix ++) {\r\n            _evmUsedFunds += this.requestUpdate{\r\n                value: _evmUnitaryUpdateRequestFee\r\n            }(\r\n                _deps[_ix], \r\n                sla\r\n            );\r\n        }\r\n    }\r\n\r\n    function __requestUpdate(\r\n            bytes4 feedId, \r\n            Witnet.QuerySLA memory querySLA\r\n        )\r\n        virtual internal\r\n        returns (uint256)\r\n    {\r\n        if (WitPriceFeedsLegacyDataLib.seekRecord(feedId).radHash != 0) {\r\n            uint256 _evmUpdateRequestFee = msg.value;\r\n            try WitPriceFeedsLegacyDataLib.requestUpdate(\r\n                IWitOracleQueriable(witOracle),\r\n                feedId,\r\n                querySLA,\r\n                _evmUpdateRequestFee\r\n            \r\n            ) returns (\r\n                uint256 _latestQueryId,\r\n                uint256 _evmUsedFunds\r\n            \r\n            ) {\r\n                if (_evmUsedFunds < msg.value) {\r\n                    // transfer back unused funds:\r\n                    payable(msg.sender).transfer(msg.value - _evmUsedFunds);\r\n                }\r\n                // solhint-disable avoid-tx-origin:\r\n                emit PullingUpdate(tx.origin, _msgSender(), feedId, _latestQueryId);\r\n                return _evmUsedFunds;\r\n            \r\n            } catch Error(string memory _reason) {\r\n                _revert(_reason);\r\n\r\n            } catch (bytes memory) {\r\n                _revertWitPriceFeedsLegacyDataLibUnhandledException();\r\n            }\r\n        \r\n        } else if (WitPriceFeedsLegacyDataLib.seekRecord(feedId).solver != address(0)) {\r\n            return __requestUpdate(\r\n                WitPriceFeedsLegacyDataLib.depsOf(feedId),\r\n                IWitPriceFeedsLegacy.RadonSLAv2({\r\n                    numWitnesses: uint8(querySLA.witCommitteeSize),\r\n                    unitaryReward: querySLA.witUnitaryReward\r\n                })\r\n            );\r\n\r\n        } else {\r\n            _revert(\"unknown feed\");\r\n        }\r\n    }\r\n\r\n    function __storage() internal pure returns (WitPriceFeedsLegacyDataLib.Storage storage) {\r\n        return WitPriceFeedsLegacyDataLib.data();\r\n    }\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\apps\\WitPriceFeedsLegacyUpgradable.sol",
  "ast": {
    "absolutePath": "project:/contracts/apps/WitPriceFeedsLegacyUpgradable.sol",
    "exportedSymbols": {
      "Bech32": [
        31372
      ],
      "Context": [
        523
      ],
      "ERC165": [
        616
      ],
      "IERC165": [
        628
      ],
      "IERC2362": [
        644
      ],
      "IWitAppliance": [
        26514
      ],
      "IWitOracle": [
        26581
      ],
      "IWitOracleAppliance": [
        26593
      ],
      "IWitOracleLegacy": [
        28786
      ],
      "IWitOracleQueriable": [
        26795
      ],
      "IWitOracleQueriableEvents": [
        26892
      ],
      "IWitOracleRadonRegistry": [
        27394
      ],
      "IWitOracleRequest": [
        28922
      ],
      "IWitOracleRequestTemplate": [
        29115
      ],
      "IWitPriceFeedsLegacy": [
        29361
      ],
      "IWitPriceFeedsLegacyAdmin": [
        29469
      ],
      "IWitPriceFeedsLegacySolver": [
        29521
      ],
      "IWitPriceFeedsLegacySolverFactory": [
        29550
      ],
      "Initializable": [
        267
      ],
      "Ownable": [
        415
      ],
      "Ownable2Step": [
        45709
      ],
      "Proxiable": [
        45810
      ],
      "ReentrancyGuard": [
        592
      ],
      "Secp256k1": [
        32535
      ],
      "Slices": [
        34366
      ],
      "Upgradeable": [
        45930
      ],
      "WitOracle": [
        678
      ],
      "WitPriceFeedsLegacy": [
        854
      ],
      "WitPriceFeedsLegacyDataLib": [
        26464
      ],
      "WitPriceFeedsLegacyUpgradable": [
        3989
      ],
      "Witnet": [
        40741
      ],
      "WitnetBuffer": [
        42631
      ],
      "WitnetCBOR": [
        44174
      ],
      "WitnetProxy": [
        8994
      ],
      "WitnetUpgradableBase": [
        9373
      ]
    },
    "id": 3990,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2296,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "33:31:17"
      },
      {
        "absolutePath": "project:/contracts/WitPriceFeedsLegacy.sol",
        "file": "../WitPriceFeedsLegacy.sol",
        "id": 2297,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 3990,
        "sourceUnit": 855,
        "src": "68:36:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/core/WitnetUpgradableBase.sol",
        "file": "../core/WitnetUpgradableBase.sol",
        "id": 2298,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 3990,
        "sourceUnit": 9374,
        "src": "108:42:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/data/WitPriceFeedsLegacyDataLib.sol",
        "file": "../data/WitPriceFeedsLegacyDataLib.sol",
        "id": 2299,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 3990,
        "sourceUnit": 26465,
        "src": "152:48:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitOracleLegacy.sol",
        "file": "../interfaces/legacy/IWitOracleLegacy.sol",
        "id": 2300,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 3990,
        "sourceUnit": 28787,
        "src": "202:51:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/patterns/Ownable2Step.sol",
        "file": "../patterns/Ownable2Step.sol",
        "id": 2301,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 3990,
        "sourceUnit": 45710,
        "src": "255:38:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 2303,
              "name": "WitPriceFeedsLegacy",
              "nameLocations": [
                "505:19:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 854,
              "src": "505:19:17"
            },
            "id": 2304,
            "nodeType": "InheritanceSpecifier",
            "src": "505:19:17"
          },
          {
            "baseName": {
              "id": 2305,
              "name": "Ownable2Step",
              "nameLocations": [
                "535:12:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 45709,
              "src": "535:12:17"
            },
            "id": 2306,
            "nodeType": "InheritanceSpecifier",
            "src": "535:12:17"
          },
          {
            "baseName": {
              "id": 2307,
              "name": "WitnetUpgradableBase",
              "nameLocations": [
                "558:20:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 9373,
              "src": "558:20:17"
            },
            "id": 2308,
            "nodeType": "InheritanceSpecifier",
            "src": "558:20:17"
          }
        ],
        "canonicalName": "WitPriceFeedsLegacyUpgradable",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 2302,
          "nodeType": "StructuredDocumentation",
          "src": "297:150:17",
          "text": "@title WitPriceFeeds: Price Feeds upgradable repository reliant on the Wit/Oracle blockchain.\n @author Guillermo Díaz <guillermo@witnet.io>"
        },
        "fullyImplemented": true,
        "id": 3989,
        "linearizedBaseContracts": [
          3989,
          9373,
          592,
          45930,
          45810,
          267,
          45709,
          415,
          523,
          854,
          26593,
          26514,
          29550,
          29469,
          29361,
          644
        ],
        "name": "WitPriceFeedsLegacyUpgradable",
        "nameLocation": "458:29:17",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 2311,
            "libraryName": {
              "id": 2309,
              "name": "Witnet",
              "nameLocations": [
                "593:6:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "593:6:17"
            },
            "nodeType": "UsingForDirective",
            "src": "587:23:17",
            "typeName": {
              "id": 2310,
              "name": "bytes",
              "nodeType": "ElementaryTypeName",
              "src": "604:5:17",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes_storage_ptr",
                "typeString": "bytes"
              }
            }
          },
          {
            "global": false,
            "id": 2315,
            "libraryName": {
              "id": 2312,
              "name": "Witnet",
              "nameLocations": [
                "622:6:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "622:6:17"
            },
            "nodeType": "UsingForDirective",
            "src": "616:35:17",
            "typeName": {
              "id": 2314,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 2313,
                "name": "Witnet.DataResult",
                "nameLocations": [
                  "633:6:17",
                  "640:10:17"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37293,
                "src": "633:17:17"
              },
              "referencedDeclaration": 37293,
              "src": "633:17:17",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                "typeString": "struct Witnet.DataResult"
              }
            }
          },
          {
            "global": false,
            "id": 2319,
            "libraryName": {
              "id": 2316,
              "name": "Witnet",
              "nameLocations": [
                "663:6:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "663:6:17"
            },
            "nodeType": "UsingForDirective",
            "src": "657:38:17",
            "typeName": {
              "id": 2318,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 2317,
                "name": "Witnet.QueryResponse",
                "nameLocations": [
                  "674:6:17",
                  "681:13:17"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37365,
                "src": "674:20:17"
              },
              "referencedDeclaration": 37365,
              "src": "674:20:17",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_QueryResponse_$37365_storage_ptr",
                "typeString": "struct Witnet.QueryResponse"
              }
            }
          },
          {
            "global": false,
            "id": 2323,
            "libraryName": {
              "id": 2320,
              "name": "Witnet",
              "nameLocations": [
                "707:6:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "707:6:17"
            },
            "nodeType": "UsingForDirective",
            "src": "701:33:17",
            "typeName": {
              "id": 2322,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 2321,
                "name": "Witnet.QuerySLA",
                "nameLocations": [
                  "718:6:17",
                  "725:8:17"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37373,
                "src": "718:15:17"
              },
              "referencedDeclaration": 37373,
              "src": "718:15:17",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_QuerySLA_$37373_storage_ptr",
                "typeString": "struct Witnet.QuerySLA"
              }
            }
          },
          {
            "global": false,
            "id": 2327,
            "libraryName": {
              "id": 2324,
              "name": "Witnet",
              "nameLocations": [
                "746:6:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "746:6:17"
            },
            "nodeType": "UsingForDirective",
            "src": "740:37:17",
            "typeName": {
              "id": 2326,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 2325,
                "name": "Witnet.ResultStatus",
                "nameLocations": [
                  "757:6:17",
                  "764:12:17"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37698,
                "src": "757:19:17"
              },
              "referencedDeclaration": 37698,
              "src": "757:19:17",
              "typeDescriptions": {
                "typeIdentifier": "t_enum$_ResultStatus_$37698",
                "typeString": "enum Witnet.ResultStatus"
              }
            }
          },
          {
            "baseFunctions": [
              26472
            ],
            "body": {
              "id": 2338,
              "nodeType": "Block",
              "src": "855:66:17",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 2334,
                          "name": "WitPriceFeedsLegacyUpgradable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3989,
                          "src": "878:29:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyUpgradable_$3989_$",
                            "typeString": "type(contract WitPriceFeedsLegacyUpgradable)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyUpgradable_$3989_$",
                            "typeString": "type(contract WitPriceFeedsLegacyUpgradable)"
                          }
                        ],
                        "id": 2333,
                        "name": "type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967269,
                        "src": "873:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 2335,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "873:35:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_meta_type_t_contract$_WitPriceFeedsLegacyUpgradable_$3989",
                        "typeString": "type(contract WitPriceFeedsLegacyUpgradable)"
                      }
                    },
                    "id": 2336,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberLocation": "909:4:17",
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "src": "873:40:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 2332,
                  "id": 2337,
                  "nodeType": "Return",
                  "src": "866:47:17"
                }
              ]
            },
            "functionSelector": "bff852fa",
            "id": 2339,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "794:5:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2329,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "810:8:17"
            },
            "parameters": {
              "id": 2328,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "799:2:17"
            },
            "returnParameters": {
              "id": 2332,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2331,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2339,
                  "src": "840:13:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2330,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "840:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "839:15:17"
            },
            "scope": 3989,
            "src": "785:136:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              26592
            ],
            "constant": false,
            "functionSelector": "1014d375",
            "id": 2342,
            "mutability": "immutable",
            "name": "witOracle",
            "nameLocation": "963:9:17",
            "nodeType": "VariableDeclaration",
            "overrides": {
              "id": 2341,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "954:8:17"
            },
            "scope": 3989,
            "src": "929:43:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 2340,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "929:7:17",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 2345,
            "mutability": "immutable",
            "name": "__registry",
            "nameLocation": "1022:10:17",
            "nodeType": "VariableDeclaration",
            "scope": 3989,
            "src": "979:53:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
              "typeString": "contract IWitOracleRadonRegistry"
            },
            "typeName": {
              "id": 2344,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 2343,
                "name": "IWitOracleRadonRegistry",
                "nameLocations": [
                  "979:23:17"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 27394,
                "src": "979:23:17"
              },
              "referencedDeclaration": 27394,
              "src": "979:23:17",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                "typeString": "contract IWitOracleRadonRegistry"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2348,
            "mutability": "mutable",
            "name": "__defaultQuerySLA",
            "nameLocation": "1065:17:17",
            "nodeType": "VariableDeclaration",
            "scope": 3989,
            "src": "1041:41:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
              "typeString": "struct Witnet.QuerySLA"
            },
            "typeName": {
              "id": 2347,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 2346,
                "name": "Witnet.QuerySLA",
                "nameLocations": [
                  "1041:6:17",
                  "1048:8:17"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37373,
                "src": "1041:15:17"
              },
              "referencedDeclaration": 37373,
              "src": "1041:15:17",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_QuerySLA_$37373_storage_ptr",
                "typeString": "struct Witnet.QuerySLA"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2350,
            "mutability": "mutable",
            "name": "__baseFeeOverheadPercentage",
            "nameLocation": "1104:27:17",
            "nodeType": "VariableDeclaration",
            "scope": 3989,
            "src": "1089:42:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint16",
              "typeString": "uint16"
            },
            "typeName": {
              "id": 2349,
              "name": "uint16",
              "nodeType": "ElementaryTypeName",
              "src": "1089:6:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint16",
                "typeString": "uint16"
              }
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 2409,
              "nodeType": "Block",
              "src": "1451:376:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 2380,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 2375,
                                  "name": "_witOracle",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2353,
                                  "src": "1493:10:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_WitOracle_$678",
                                    "typeString": "contract WitOracle"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_contract$_WitOracle_$678",
                                    "typeString": "contract WitOracle"
                                  }
                                ],
                                "id": 2374,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "1485:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                },
                                "typeName": {
                                  "id": 2373,
                                  "name": "address",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "1485:7:17",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 2376,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1485:19:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 2377,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "1505:4:17",
                            "memberName": "code",
                            "nodeType": "MemberAccess",
                            "src": "1485:24:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 2378,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1510:6:17",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "1485:31:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 2379,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1519:1:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "1485:35:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "696e6578697374656e74206f7261636c65",
                        "id": 2381,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1535:19:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d97ee9cf70a0496c37c6020840166f28209ce380fdefd014c0b530be764538a6",
                          "typeString": "literal_string \"inexistent oracle\""
                        },
                        "value": "inexistent oracle"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d97ee9cf70a0496c37c6020840166f28209ce380fdefd014c0b530be764538a6",
                          "typeString": "literal_string \"inexistent oracle\""
                        }
                      ],
                      "id": 2372,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "1462:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 2382,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1462:103:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2383,
                  "nodeType": "ExpressionStatement",
                  "src": "1462:103:17"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        "id": 2398,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 2385,
                              "name": "_witOracle",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2353,
                              "src": "1599:10:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_WitOracle_$678",
                                "typeString": "contract WitOracle"
                              }
                            },
                            "id": 2386,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "1610:5:17",
                            "memberName": "specs",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 677,
                            "src": "1599:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_pure$__$returns$_t_bytes4_$",
                              "typeString": "function () pure external returns (bytes4)"
                            }
                          },
                          "id": 2387,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1599:18:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "components": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              },
                              "id": 2396,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "arguments": [
                                    {
                                      "id": 2389,
                                      "name": "IWitOracle",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 26581,
                                      "src": "1645:10:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_IWitOracle_$26581_$",
                                        "typeString": "type(contract IWitOracle)"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_type$_t_contract$_IWitOracle_$26581_$",
                                        "typeString": "type(contract IWitOracle)"
                                      }
                                    ],
                                    "id": 2388,
                                    "name": "type",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967269,
                                    "src": "1640:4:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                                      "typeString": "function () pure"
                                    }
                                  },
                                  "id": 2390,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1640:16:17",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_meta_type_t_contract$_IWitOracle_$26581",
                                    "typeString": "type(contract IWitOracle)"
                                  }
                                },
                                "id": 2391,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "1657:11:17",
                                "memberName": "interfaceId",
                                "nodeType": "MemberAccess",
                                "src": "1640:28:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "^",
                              "rightExpression": {
                                "expression": {
                                  "arguments": [
                                    {
                                      "id": 2393,
                                      "name": "IWitOracleQueriable",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 26795,
                                      "src": "1697:19:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                                        "typeString": "type(contract IWitOracleQueriable)"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                                        "typeString": "type(contract IWitOracleQueriable)"
                                      }
                                    ],
                                    "id": 2392,
                                    "name": "type",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967269,
                                    "src": "1692:4:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                                      "typeString": "function () pure"
                                    }
                                  },
                                  "id": 2394,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1692:25:17",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_meta_type_t_contract$_IWitOracleQueriable_$26795",
                                    "typeString": "type(contract IWitOracleQueriable)"
                                  }
                                },
                                "id": 2395,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "1718:11:17",
                                "memberName": "interfaceId",
                                "nodeType": "MemberAccess",
                                "src": "1692:37:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "src": "1640:89:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "id": 2397,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "1621:123:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "src": "1599:145:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "756e636f6d706c69616e74206f7261636c65",
                        "id": 2399,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1746:20:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2739737c7c0f08cd37dfb6ceff136939969e17c8f102f81abd1d6595b5d4bded",
                          "typeString": "literal_string \"uncompliant oracle\""
                        },
                        "value": "uncompliant oracle"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2739737c7c0f08cd37dfb6ceff136939969e17c8f102f81abd1d6595b5d4bded",
                          "typeString": "literal_string \"uncompliant oracle\""
                        }
                      ],
                      "id": 2384,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "1576:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 2400,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1576:201:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2401,
                  "nodeType": "ExpressionStatement",
                  "src": "1576:201:17"
                },
                {
                  "expression": {
                    "id": 2407,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 2402,
                      "name": "witOracle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2342,
                      "src": "1788:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 2405,
                          "name": "_witOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2353,
                          "src": "1808:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_WitOracle_$678",
                            "typeString": "contract WitOracle"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_contract$_WitOracle_$678",
                            "typeString": "contract WitOracle"
                          }
                        ],
                        "id": 2404,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1800:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 2403,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "1800:7:17",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 2406,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1800:19:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1788:31:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 2408,
                  "nodeType": "ExpressionStatement",
                  "src": "1788:31:17"
                }
              ]
            },
            "id": 2410,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "arguments": [
                      {
                        "expression": {
                          "id": 2362,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "1292:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 2363,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1296:6:17",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "1292:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 2361,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1284:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 2360,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1284:7:17",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 2364,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1284:19:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 2365,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 2359,
                  "name": "Ownable",
                  "nameLocations": [
                    "1276:7:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 415,
                  "src": "1276:7:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "1276:28:17"
              },
              {
                "arguments": [
                  {
                    "id": 2367,
                    "name": "_upgradable",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2357,
                    "src": "1349:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  {
                    "id": 2368,
                    "name": "_versionTag",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2355,
                    "src": "1375:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "hexValue": "696f2e7769746e65742e70726f786961626c652e66656564732e7072696365",
                    "id": 2369,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1401:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_688a557b3c9b52d2ba2301577897f3d892372d2d9be386db46c3ca9048c47f0b",
                      "typeString": "literal_string \"io.witnet.proxiable.feeds.price\""
                    },
                    "value": "io.witnet.proxiable.feeds.price"
                  }
                ],
                "id": 2370,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 2366,
                  "name": "WitnetUpgradableBase",
                  "nameLocations": [
                    "1314:20:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 9373,
                  "src": "1314:20:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "1314:131:17"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2358,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2353,
                  "mutability": "mutable",
                  "name": "_witOracle",
                  "nameLocation": "1180:10:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2410,
                  "src": "1170:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitOracle_$678",
                    "typeString": "contract WitOracle"
                  },
                  "typeName": {
                    "id": 2352,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2351,
                      "name": "WitOracle",
                      "nameLocations": [
                        "1170:9:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 678,
                      "src": "1170:9:17"
                    },
                    "referencedDeclaration": 678,
                    "src": "1170:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitOracle_$678",
                      "typeString": "contract WitOracle"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2355,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "1213:11:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2410,
                  "src": "1205:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2354,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1205:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2357,
                  "mutability": "mutable",
                  "name": "_upgradable",
                  "nameLocation": "1244:11:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2410,
                  "src": "1239:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2356,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1239:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1155:111:17"
            },
            "returnParameters": {
              "id": 2371,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1451:0:17"
            },
            "scope": 3989,
            "src": "1144:683:17",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2422,
              "nodeType": "Block",
              "src": "1912:58:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "arguments": [
                          {
                            "id": 2417,
                            "name": "witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2342,
                            "src": "1941:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2416,
                          "name": "IWitOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26581,
                          "src": "1930:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitOracle_$26581_$",
                            "typeString": "type(contract IWitOracle)"
                          }
                        },
                        "id": 2418,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1930:21:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracle_$26581",
                          "typeString": "contract IWitOracle"
                        }
                      },
                      "id": 2419,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1952:8:17",
                      "memberName": "registry",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26580,
                      "src": "1930:30:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IWitOracleRadonRegistry_$27394_$",
                        "typeString": "function () view external returns (contract IWitOracleRadonRegistry)"
                      }
                    },
                    "id": 2420,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1930:32:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                      "typeString": "contract IWitOracleRadonRegistry"
                    }
                  },
                  "functionReturnParameters": 2415,
                  "id": 2421,
                  "nodeType": "Return",
                  "src": "1923:39:17"
                }
              ]
            },
            "id": 2423,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_registry",
            "nameLocation": "1844:9:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2411,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1853:2:17"
            },
            "returnParameters": {
              "id": 2415,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2414,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2423,
                  "src": "1887:23:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                    "typeString": "contract IWitOracleRadonRegistry"
                  },
                  "typeName": {
                    "id": 2413,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2412,
                      "name": "IWitOracleRadonRegistry",
                      "nameLocations": [
                        "1887:23:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 27394,
                      "src": "1887:23:17"
                    },
                    "referencedDeclaration": 27394,
                    "src": "1887:23:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                      "typeString": "contract IWitOracleRadonRegistry"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1886:25:17"
            },
            "scope": 3989,
            "src": "1835:135:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              9100
            ],
            "body": {
              "id": 2476,
              "nodeType": "Block",
              "src": "2058:887:17",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 2440,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "id": 2432,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 2427,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "2087:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 2428,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2091:3:17",
                        "memberName": "sig",
                        "nodeType": "MemberAccess",
                        "src": "2087:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 2429,
                            "name": "IWitPriceFeedsLegacySolver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 29521,
                            "src": "2098:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                              "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                            }
                          },
                          "id": 2430,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "2125:5:17",
                          "memberName": "solve",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 29507,
                          "src": "2098:32:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_declaration_view$_t_bytes4_$returns$_t_struct$_Price_$29489_memory_ptr_$",
                            "typeString": "function IWitPriceFeedsLegacySolver.solve(bytes4) view returns (struct IWitPriceFeedsLegacySolver.Price memory)"
                          }
                        },
                        "id": 2431,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "2131:8:17",
                        "memberName": "selector",
                        "nodeType": "MemberAccess",
                        "src": "2098:41:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "src": "2087:52:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 2439,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 2433,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "2160:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 2434,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2164:6:17",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "2160:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "arguments": [
                          {
                            "id": 2437,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967268,
                            "src": "2182:4:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_WitPriceFeedsLegacyUpgradable_$3989",
                              "typeString": "contract WitPriceFeedsLegacyUpgradable"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_WitPriceFeedsLegacyUpgradable_$3989",
                              "typeString": "contract WitPriceFeedsLegacyUpgradable"
                            }
                          ],
                          "id": 2436,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2174:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 2435,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "2174:7:17",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 2438,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2174:13:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "2160:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2087:100:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 2474,
                    "nodeType": "Block",
                    "src": "2885:53:17",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "6e6f7420696d706c656d656e746564",
                              "id": 2471,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2908:17:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9",
                                "typeString": "literal_string \"not implemented\""
                              },
                              "value": "not implemented"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_32d075b43bd38f25ee5981ec20d2adc90449bf9822d065b5dee1ff7a3dcb82b9",
                                "typeString": "literal_string \"not implemented\""
                              }
                            ],
                            "id": 2470,
                            "name": "_revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26513,
                            "src": "2900:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) view"
                            }
                          },
                          "id": 2472,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2900:26:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2473,
                        "nodeType": "ExpressionStatement",
                        "src": "2900:26:17"
                      }
                    ]
                  },
                  "id": 2475,
                  "nodeType": "IfStatement",
                  "src": "2069:869:17",
                  "trueBody": {
                    "id": 2469,
                    "nodeType": "Block",
                    "src": "2199:680:17",
                    "statements": [
                      {
                        "assignments": [
                          2442
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2442,
                            "mutability": "mutable",
                            "name": "_solver",
                            "nameLocation": "2222:7:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 2469,
                            "src": "2214:15:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 2441,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "2214:7:17",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 2457,
                        "initialValue": {
                          "expression": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    },
                                    "id": 2453,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "id": 2449,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967281,
                                            "src": "2284:3:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_message",
                                              "typeString": "msg"
                                            }
                                          },
                                          "id": 2450,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "2288:4:17",
                                          "memberName": "data",
                                          "nodeType": "MemberAccess",
                                          "src": "2284:8:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_calldata_ptr",
                                            "typeString": "bytes calldata"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_bytes_calldata_ptr",
                                            "typeString": "bytes calldata"
                                          }
                                        ],
                                        "id": 2448,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "2277:6:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bytes8_$",
                                          "typeString": "type(bytes8)"
                                        },
                                        "typeName": {
                                          "id": 2447,
                                          "name": "bytes8",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "2277:6:17",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 2451,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "2277:16:17",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<<",
                                    "rightExpression": {
                                      "hexValue": "3332",
                                      "id": 2452,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "2297:2:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_32_by_1",
                                        "typeString": "int_const 32"
                                      },
                                      "value": "32"
                                    },
                                    "src": "2277:22:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    }
                                  ],
                                  "id": 2446,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "2270:6:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes4_$",
                                    "typeString": "type(bytes4)"
                                  },
                                  "typeName": {
                                    "id": 2445,
                                    "name": "bytes4",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "2270:6:17",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 2454,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2270:30:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "expression": {
                                "id": 2443,
                                "name": "WitPriceFeedsLegacyDataLib",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26464,
                                "src": "2232:26:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                  "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                                }
                              },
                              "id": 2444,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2259:10:17",
                              "memberName": "seekRecord",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25352,
                              "src": "2232:37:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                                "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                              }
                            },
                            "id": 2455,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2232:69:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                            }
                          },
                          "id": 2456,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2302:6:17",
                          "memberName": "solver",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25166,
                          "src": "2232:76:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "2214:94:17"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 2464,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 2459,
                                "name": "_solver",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2442,
                                "src": "2350:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "!=",
                              "rightExpression": {
                                "arguments": [
                                  {
                                    "hexValue": "30",
                                    "id": 2462,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2369:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    }
                                  ],
                                  "id": 2461,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "2361:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_address_$",
                                    "typeString": "type(address)"
                                  },
                                  "typeName": {
                                    "id": 2460,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "2361:7:17",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 2463,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2361:10:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "2350:21:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "756e736574746c656420736f6c766572",
                              "id": 2465,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2390:18:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_c046365c9d046dfb4635d48ad43220f881f7378cae68102d02ce35ac306a7d50",
                                "typeString": "literal_string \"unsettled solver\""
                              },
                              "value": "unsettled solver"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_c046365c9d046dfb4635d48ad43220f881f7378cae68102d02ce35ac306a7d50",
                                "typeString": "literal_string \"unsettled solver\""
                              }
                            ],
                            "id": 2458,
                            "name": "_require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26494,
                            "src": "2323:8:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) view"
                            }
                          },
                          "id": 2466,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2323:100:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2467,
                        "nodeType": "ExpressionStatement",
                        "src": "2323:100:17"
                      },
                      {
                        "AST": {
                          "nativeSrc": "2447:421:17",
                          "nodeType": "YulBlock",
                          "src": "2447:421:17",
                          "statements": [
                            {
                              "nativeSrc": "2466:22:17",
                              "nodeType": "YulVariableDeclaration",
                              "src": "2466:22:17",
                              "value": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2483:4:17",
                                    "nodeType": "YulLiteral",
                                    "src": "2483:4:17",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "mload",
                                  "nativeSrc": "2477:5:17",
                                  "nodeType": "YulIdentifier",
                                  "src": "2477:5:17"
                                },
                                "nativeSrc": "2477:11:17",
                                "nodeType": "YulFunctionCall",
                                "src": "2477:11:17"
                              },
                              "variables": [
                                {
                                  "name": "ptr",
                                  "nativeSrc": "2470:3:17",
                                  "nodeType": "YulTypedName",
                                  "src": "2470:3:17",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "ptr",
                                    "nativeSrc": "2519:3:17",
                                    "nodeType": "YulIdentifier",
                                    "src": "2519:3:17"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2524:1:17",
                                    "nodeType": "YulLiteral",
                                    "src": "2524:1:17",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "2527:12:17",
                                      "nodeType": "YulIdentifier",
                                      "src": "2527:12:17"
                                    },
                                    "nativeSrc": "2527:14:17",
                                    "nodeType": "YulFunctionCall",
                                    "src": "2527:14:17"
                                  }
                                ],
                                "functionName": {
                                  "name": "calldatacopy",
                                  "nativeSrc": "2506:12:17",
                                  "nodeType": "YulIdentifier",
                                  "src": "2506:12:17"
                                },
                                "nativeSrc": "2506:36:17",
                                "nodeType": "YulFunctionCall",
                                "src": "2506:36:17"
                              },
                              "nativeSrc": "2506:36:17",
                              "nodeType": "YulExpressionStatement",
                              "src": "2506:36:17"
                            },
                            {
                              "nativeSrc": "2560:69:17",
                              "nodeType": "YulVariableDeclaration",
                              "src": "2560:69:17",
                              "value": {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "gas",
                                      "nativeSrc": "2587:3:17",
                                      "nodeType": "YulIdentifier",
                                      "src": "2587:3:17"
                                    },
                                    "nativeSrc": "2587:5:17",
                                    "nodeType": "YulFunctionCall",
                                    "src": "2587:5:17"
                                  },
                                  {
                                    "name": "_solver",
                                    "nativeSrc": "2594:7:17",
                                    "nodeType": "YulIdentifier",
                                    "src": "2594:7:17"
                                  },
                                  {
                                    "name": "ptr",
                                    "nativeSrc": "2603:3:17",
                                    "nodeType": "YulIdentifier",
                                    "src": "2603:3:17"
                                  },
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "2608:12:17",
                                      "nodeType": "YulIdentifier",
                                      "src": "2608:12:17"
                                    },
                                    "nativeSrc": "2608:14:17",
                                    "nodeType": "YulFunctionCall",
                                    "src": "2608:14:17"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2624:1:17",
                                    "nodeType": "YulLiteral",
                                    "src": "2624:1:17",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2627:1:17",
                                    "nodeType": "YulLiteral",
                                    "src": "2627:1:17",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "delegatecall",
                                  "nativeSrc": "2574:12:17",
                                  "nodeType": "YulIdentifier",
                                  "src": "2574:12:17"
                                },
                                "nativeSrc": "2574:55:17",
                                "nodeType": "YulFunctionCall",
                                "src": "2574:55:17"
                              },
                              "variables": [
                                {
                                  "name": "result",
                                  "nativeSrc": "2564:6:17",
                                  "nodeType": "YulTypedName",
                                  "src": "2564:6:17",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "nativeSrc": "2647:28:17",
                              "nodeType": "YulVariableDeclaration",
                              "src": "2647:28:17",
                              "value": {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "2659:14:17",
                                  "nodeType": "YulIdentifier",
                                  "src": "2659:14:17"
                                },
                                "nativeSrc": "2659:16:17",
                                "nodeType": "YulFunctionCall",
                                "src": "2659:16:17"
                              },
                              "variables": [
                                {
                                  "name": "size",
                                  "nativeSrc": "2651:4:17",
                                  "nodeType": "YulTypedName",
                                  "src": "2651:4:17",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "ptr",
                                    "nativeSrc": "2708:3:17",
                                    "nodeType": "YulIdentifier",
                                    "src": "2708:3:17"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2713:1:17",
                                    "nodeType": "YulLiteral",
                                    "src": "2713:1:17",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "name": "size",
                                    "nativeSrc": "2716:4:17",
                                    "nodeType": "YulIdentifier",
                                    "src": "2716:4:17"
                                  }
                                ],
                                "functionName": {
                                  "name": "returndatacopy",
                                  "nativeSrc": "2693:14:17",
                                  "nodeType": "YulIdentifier",
                                  "src": "2693:14:17"
                                },
                                "nativeSrc": "2693:28:17",
                                "nodeType": "YulFunctionCall",
                                "src": "2693:28:17"
                              },
                              "nativeSrc": "2693:28:17",
                              "nodeType": "YulExpressionStatement",
                              "src": "2693:28:17"
                            },
                            {
                              "cases": [
                                {
                                  "body": {
                                    "nativeSrc": "2781:21:17",
                                    "nodeType": "YulBlock",
                                    "src": "2781:21:17",
                                    "statements": [
                                      {
                                        "expression": {
                                          "arguments": [
                                            {
                                              "name": "ptr",
                                              "nativeSrc": "2790:3:17",
                                              "nodeType": "YulIdentifier",
                                              "src": "2790:3:17"
                                            },
                                            {
                                              "name": "size",
                                              "nativeSrc": "2795:4:17",
                                              "nodeType": "YulIdentifier",
                                              "src": "2795:4:17"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "revert",
                                            "nativeSrc": "2783:6:17",
                                            "nodeType": "YulIdentifier",
                                            "src": "2783:6:17"
                                          },
                                          "nativeSrc": "2783:17:17",
                                          "nodeType": "YulFunctionCall",
                                          "src": "2783:17:17"
                                        },
                                        "nativeSrc": "2783:17:17",
                                        "nodeType": "YulExpressionStatement",
                                        "src": "2783:17:17"
                                      }
                                    ]
                                  },
                                  "nativeSrc": "2774:28:17",
                                  "nodeType": "YulCase",
                                  "src": "2774:28:17",
                                  "value": {
                                    "kind": "number",
                                    "nativeSrc": "2779:1:17",
                                    "nodeType": "YulLiteral",
                                    "src": "2779:1:17",
                                    "type": "",
                                    "value": "0"
                                  }
                                },
                                {
                                  "body": {
                                    "nativeSrc": "2832:21:17",
                                    "nodeType": "YulBlock",
                                    "src": "2832:21:17",
                                    "statements": [
                                      {
                                        "expression": {
                                          "arguments": [
                                            {
                                              "name": "ptr",
                                              "nativeSrc": "2841:3:17",
                                              "nodeType": "YulIdentifier",
                                              "src": "2841:3:17"
                                            },
                                            {
                                              "name": "size",
                                              "nativeSrc": "2846:4:17",
                                              "nodeType": "YulIdentifier",
                                              "src": "2846:4:17"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "return",
                                            "nativeSrc": "2834:6:17",
                                            "nodeType": "YulIdentifier",
                                            "src": "2834:6:17"
                                          },
                                          "nativeSrc": "2834:17:17",
                                          "nodeType": "YulFunctionCall",
                                          "src": "2834:17:17"
                                        },
                                        "nativeSrc": "2834:17:17",
                                        "nodeType": "YulExpressionStatement",
                                        "src": "2834:17:17"
                                      }
                                    ]
                                  },
                                  "nativeSrc": "2824:29:17",
                                  "nodeType": "YulCase",
                                  "src": "2824:29:17",
                                  "value": "default"
                                }
                              ],
                              "expression": {
                                "name": "result",
                                "nativeSrc": "2746:6:17",
                                "nodeType": "YulIdentifier",
                                "src": "2746:6:17"
                              },
                              "nativeSrc": "2739:114:17",
                              "nodeType": "YulSwitch",
                              "src": "2739:114:17"
                            }
                          ]
                        },
                        "evmVersion": "prague",
                        "externalReferences": [
                          {
                            "declaration": 2442,
                            "isOffset": false,
                            "isSlot": false,
                            "src": "2594:7:17",
                            "valueSize": 1
                          }
                        ],
                        "id": 2468,
                        "nodeType": "InlineAssembly",
                        "src": "2438:430:17"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 2477,
            "implemented": true,
            "kind": "fallback",
            "modifiers": [],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2425,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2040:8:17"
            },
            "parameters": {
              "id": 2424,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2037:2:17"
            },
            "returnParameters": {
              "id": 2426,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2058:0:17"
            },
            "scope": 3989,
            "src": "2029:916:17",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              45923
            ],
            "body": {
              "id": 2552,
              "nodeType": "Block",
              "src": "3376:1199:17",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 2491,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2484,
                          "name": "__proxiable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 45809,
                          "src": "3391:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$45781_storage_ptr_$",
                            "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                          }
                        },
                        "id": 2485,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3391:13:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_ProxiableSlot_$45781_storage_ptr",
                          "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                        }
                      },
                      "id": 2486,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3405:8:17",
                      "memberName": "codehash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45780,
                      "src": "3391:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 2489,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3425:1:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 2488,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "3417:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes32_$",
                          "typeString": "type(bytes32)"
                        },
                        "typeName": {
                          "id": 2487,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "3417:7:17",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 2490,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3417:10:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "3391:36:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 2550,
                    "nodeType": "Block",
                    "src": "3757:811:17",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2509,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 2506,
                              "name": "_initData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2480,
                              "src": "3844:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 2507,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3854:6:17",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "3844:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 2508,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3863:1:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3844:20:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "id": 2537,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "!",
                            "prefix": true,
                            "src": "4222:28:17",
                            "subExpression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "id": 2534,
                                  "name": "__defaultQuerySLA",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2348,
                                  "src": "4223:17:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                    "typeString": "struct Witnet.QuerySLA storage ref"
                                  }
                                },
                                "id": 2535,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "4241:7:17",
                                "memberName": "isValid",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 38791,
                                "src": "4223:25:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_bool_$attached_to$_t_struct$_QuerySLA_$37373_memory_ptr_$",
                                  "typeString": "function (struct Witnet.QuerySLA memory) pure returns (bool)"
                                }
                              },
                              "id": 2536,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4223:27:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 2548,
                          "nodeType": "IfStatement",
                          "src": "4218:339:17",
                          "trueBody": {
                            "id": 2547,
                            "nodeType": "Block",
                            "src": "4252:305:17",
                            "statements": [
                              {
                                "expression": {
                                  "id": 2545,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "id": 2538,
                                    "name": "__defaultQuerySLA",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2348,
                                    "src": "4347:17:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                      "typeString": "struct Witnet.QuerySLA storage ref"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "arguments": [
                                      {
                                        "hexValue": "33",
                                        "id": 2541,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "4424:1:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_3_by_1",
                                          "typeString": "int_const 3"
                                        },
                                        "value": "3"
                                      },
                                      {
                                        "hexValue": "3230305f3030305f303030",
                                        "id": 2542,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "4466:11:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_200000000_by_1",
                                          "typeString": "int_const 200000000"
                                        },
                                        "value": "200_000_000"
                                      },
                                      {
                                        "hexValue": "3136",
                                        "id": 2543,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "4519:2:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_16_by_1",
                                          "typeString": "int_const 16"
                                        },
                                        "value": "16"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_3_by_1",
                                          "typeString": "int_const 3"
                                        },
                                        {
                                          "typeIdentifier": "t_rational_200000000_by_1",
                                          "typeString": "int_const 200000000"
                                        },
                                        {
                                          "typeIdentifier": "t_rational_16_by_1",
                                          "typeString": "int_const 16"
                                        }
                                      ],
                                      "expression": {
                                        "id": 2539,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "4367:6:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 2540,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "4374:8:17",
                                      "memberName": "QuerySLA",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37373,
                                      "src": "4367:15:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_struct$_QuerySLA_$37373_storage_ptr_$",
                                        "typeString": "type(struct Witnet.QuerySLA storage pointer)"
                                      }
                                    },
                                    "id": 2544,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "structConstructorCall",
                                    "lValueRequested": false,
                                    "nameLocations": [
                                      "4406:16:17",
                                      "4448:16:17",
                                      "4501:16:17"
                                    ],
                                    "names": [
                                      "witCommitteeSize",
                                      "witUnitaryReward",
                                      "witResultMaxSize"
                                    ],
                                    "nodeType": "FunctionCall",
                                    "src": "4367:174:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                      "typeString": "struct Witnet.QuerySLA memory"
                                    }
                                  },
                                  "src": "4347:194:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                    "typeString": "struct Witnet.QuerySLA storage ref"
                                  }
                                },
                                "id": 2546,
                                "nodeType": "ExpressionStatement",
                                "src": "4347:194:17"
                              }
                            ]
                          }
                        },
                        "id": 2549,
                        "nodeType": "IfStatement",
                        "src": "3840:717:17",
                        "trueBody": {
                          "id": 2533,
                          "nodeType": "Block",
                          "src": "3866:346:17",
                          "statements": [
                            {
                              "assignments": [
                                2511,
                                2514
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 2511,
                                  "mutability": "mutable",
                                  "name": "_baseFeeOverheadPercentage",
                                  "nameLocation": "3893:26:17",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 2533,
                                  "src": "3886:33:17",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint16",
                                    "typeString": "uint16"
                                  },
                                  "typeName": {
                                    "id": 2510,
                                    "name": "uint16",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "3886:6:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint16",
                                      "typeString": "uint16"
                                    }
                                  },
                                  "visibility": "internal"
                                },
                                {
                                  "constant": false,
                                  "id": 2514,
                                  "mutability": "mutable",
                                  "name": "_defaultQuerySLA",
                                  "nameLocation": "3944:16:17",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 2533,
                                  "src": "3921:39:17",
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                    "typeString": "struct Witnet.QuerySLA"
                                  },
                                  "typeName": {
                                    "id": 2513,
                                    "nodeType": "UserDefinedTypeName",
                                    "pathNode": {
                                      "id": 2512,
                                      "name": "Witnet.QuerySLA",
                                      "nameLocations": [
                                        "3921:6:17",
                                        "3928:8:17"
                                      ],
                                      "nodeType": "IdentifierPath",
                                      "referencedDeclaration": 37373,
                                      "src": "3921:15:17"
                                    },
                                    "referencedDeclaration": 37373,
                                    "src": "3921:15:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_QuerySLA_$37373_storage_ptr",
                                      "typeString": "struct Witnet.QuerySLA"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "id": 2524,
                              "initialValue": {
                                "arguments": [
                                  {
                                    "id": 2517,
                                    "name": "_initData",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2480,
                                    "src": "3997:9:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  {
                                    "components": [
                                      {
                                        "id": 2519,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "4009:6:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_uint16_$",
                                          "typeString": "type(uint16)"
                                        },
                                        "typeName": {
                                          "id": 2518,
                                          "name": "uint16",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "4009:6:17",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      {
                                        "expression": {
                                          "id": 2520,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 40741,
                                          "src": "4017:6:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 2521,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "4024:8:17",
                                        "memberName": "QuerySLA",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37373,
                                        "src": "4017:15:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_struct$_QuerySLA_$37373_storage_ptr_$",
                                          "typeString": "type(struct Witnet.QuerySLA storage pointer)"
                                        }
                                      }
                                    ],
                                    "id": 2522,
                                    "isConstant": false,
                                    "isInlineArray": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "TupleExpression",
                                    "src": "4008:25:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$_t_type$_t_uint16_$_$_t_type$_t_struct$_QuerySLA_$37373_storage_ptr_$_$",
                                      "typeString": "tuple(type(uint16),type(struct Witnet.QuerySLA storage pointer))"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    },
                                    {
                                      "typeIdentifier": "t_tuple$_t_type$_t_uint16_$_$_t_type$_t_struct$_QuerySLA_$37373_storage_ptr_$_$",
                                      "typeString": "tuple(type(uint16),type(struct Witnet.QuerySLA storage pointer))"
                                    }
                                  ],
                                  "expression": {
                                    "id": 2515,
                                    "name": "abi",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967295,
                                    "src": "3964:3:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_abi",
                                      "typeString": "abi"
                                    }
                                  },
                                  "id": 2516,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "3968:6:17",
                                  "memberName": "decode",
                                  "nodeType": "MemberAccess",
                                  "src": "3964:10:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                    "typeString": "function () pure"
                                  }
                                },
                                "id": 2523,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3964:88:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_uint16_$_t_struct$_QuerySLA_$37373_memory_ptr_$",
                                  "typeString": "tuple(uint16,struct Witnet.QuerySLA memory)"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "3885:167:17"
                            },
                            {
                              "expression": {
                                "id": 2527,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 2525,
                                  "name": "__baseFeeOverheadPercentage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2350,
                                  "src": "4071:27:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint16",
                                    "typeString": "uint16"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "id": 2526,
                                  "name": "_baseFeeOverheadPercentage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2511,
                                  "src": "4101:26:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint16",
                                    "typeString": "uint16"
                                  }
                                },
                                "src": "4071:56:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              },
                              "id": 2528,
                              "nodeType": "ExpressionStatement",
                              "src": "4071:56:17"
                            },
                            {
                              "expression": {
                                "id": 2531,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 2529,
                                  "name": "__defaultQuerySLA",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2348,
                                  "src": "4146:17:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                    "typeString": "struct Witnet.QuerySLA storage ref"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "id": 2530,
                                  "name": "_defaultQuerySLA",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2514,
                                  "src": "4166:16:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                    "typeString": "struct Witnet.QuerySLA memory"
                                  }
                                },
                                "src": "4146:36:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                  "typeString": "struct Witnet.QuerySLA storage ref"
                                }
                              },
                              "id": 2532,
                              "nodeType": "ExpressionStatement",
                              "src": "4146:36:17"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 2551,
                  "nodeType": "IfStatement",
                  "src": "3387:1181:17",
                  "trueBody": {
                    "id": 2505,
                    "nodeType": "Block",
                    "src": "3429:322:17",
                    "statements": [
                      {
                        "expression": {
                          "id": 2499,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 2492,
                            "name": "__defaultQuerySLA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2348,
                            "src": "3444:17:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                              "typeString": "struct Witnet.QuerySLA storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "hexValue": "33",
                                "id": 2495,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3517:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_3_by_1",
                                  "typeString": "int_const 3"
                                },
                                "value": "3"
                              },
                              {
                                "hexValue": "3230305f3030305f303030",
                                "id": 2496,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3555:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_200000000_by_1",
                                  "typeString": "int_const 200000000"
                                },
                                "value": "200_000_000"
                              },
                              {
                                "hexValue": "3136",
                                "id": 2497,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3604:2:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_16_by_1",
                                  "typeString": "int_const 16"
                                },
                                "value": "16"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_3_by_1",
                                  "typeString": "int_const 3"
                                },
                                {
                                  "typeIdentifier": "t_rational_200000000_by_1",
                                  "typeString": "int_const 200000000"
                                },
                                {
                                  "typeIdentifier": "t_rational_16_by_1",
                                  "typeString": "int_const 16"
                                }
                              ],
                              "expression": {
                                "id": 2493,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "3464:6:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 2494,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3471:8:17",
                              "memberName": "QuerySLA",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37373,
                              "src": "3464:15:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_QuerySLA_$37373_storage_ptr_$",
                                "typeString": "type(struct Witnet.QuerySLA storage pointer)"
                              }
                            },
                            "id": 2498,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "3499:16:17",
                              "3537:16:17",
                              "3586:16:17"
                            ],
                            "names": [
                              "witCommitteeSize",
                              "witUnitaryReward",
                              "witResultMaxSize"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "3464:158:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                              "typeString": "struct Witnet.QuerySLA memory"
                            }
                          },
                          "src": "3444:178:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                            "typeString": "struct Witnet.QuerySLA storage ref"
                          }
                        },
                        "id": 2500,
                        "nodeType": "ExpressionStatement",
                        "src": "3444:178:17"
                      },
                      {
                        "expression": {
                          "id": 2503,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 2501,
                            "name": "__baseFeeOverheadPercentage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2350,
                            "src": "3697:27:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "hexValue": "3130",
                            "id": 2502,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3727:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_10_by_1",
                              "typeString": "int_const 10"
                            },
                            "value": "10"
                          },
                          "src": "3697:32:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        },
                        "id": 2504,
                        "nodeType": "ExpressionStatement",
                        "src": "3697:32:17"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 2478,
              "nodeType": "StructuredDocumentation",
              "src": "3199:85:17",
              "text": "@notice Re-initialize contract's storage context upon a new upgrade from a proxy."
            },
            "id": 2553,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__initializeUpgradableData",
            "nameLocation": "3299:26:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2482,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3358:8:17"
            },
            "parameters": {
              "id": 2481,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2480,
                  "mutability": "mutable",
                  "name": "_initData",
                  "nameLocation": "3339:9:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2553,
                  "src": "3326:22:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 2479,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3326:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3325:24:17"
            },
            "returnParameters": {
              "id": 2483,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3376:0:17"
            },
            "scope": 3989,
            "src": "3290:1285:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              9214
            ],
            "body": {
              "id": 2575,
              "nodeType": "Block",
              "src": "4741:226:17",
              "statements": [
                {
                  "assignments": [
                    2563
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2563,
                      "mutability": "mutable",
                      "name": "_owner",
                      "nameLocation": "4760:6:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 2575,
                      "src": "4752:14:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2562,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "4752:7:17",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2566,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 2564,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        3068
                      ],
                      "referencedDeclaration": 3068,
                      "src": "4769:5:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 2565,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4769:7:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4752:24:17"
                },
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2572,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 2567,
                            "name": "isUpgradable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 45904,
                            "src": "4898:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                              "typeString": "function () view returns (bool)"
                            }
                          },
                          "id": 2568,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4898:14:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2571,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 2569,
                            "name": "_owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2563,
                            "src": "4933:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "id": 2570,
                            "name": "_from",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2556,
                            "src": "4943:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "4933:15:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4898:50:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 2573,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "4794:165:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 2561,
                  "id": 2574,
                  "nodeType": "Return",
                  "src": "4787:172:17"
                }
              ]
            },
            "documentation": {
              "id": 2554,
              "nodeType": "StructuredDocumentation",
              "src": "4583:73:17",
              "text": "Tells whether provided address could eventually upgrade the contract."
            },
            "functionSelector": "6b58960a",
            "id": 2576,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isUpgradableFrom",
            "nameLocation": "4671:16:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2558,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4717:8:17"
            },
            "parameters": {
              "id": 2557,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2556,
                  "mutability": "mutable",
                  "name": "_from",
                  "nameLocation": "4696:5:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2576,
                  "src": "4688:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2555,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4688:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4687:15:17"
            },
            "returnParameters": {
              "id": 2561,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2560,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2576,
                  "src": "4735:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2559,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4735:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4734:6:17"
            },
            "scope": 3989,
            "src": "4662:305:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29166
            ],
            "body": {
              "id": 2588,
              "nodeType": "Block",
              "src": "5321:65:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 2585,
                        "name": "_evmGasPrice",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "5365:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 2584,
                      "name": "_estimateUpdateRequestFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2612,
                      "src": "5339:25:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view returns (uint256)"
                      }
                    },
                    "id": 2586,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5339:39:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 2583,
                  "id": 2587,
                  "nodeType": "Return",
                  "src": "5332:46:17"
                }
              ]
            },
            "functionSelector": "c064d372",
            "id": 2589,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateUpdateBaseFee",
            "nameLocation": "5230:21:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2580,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5282:8:17"
            },
            "parameters": {
              "id": 2579,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2578,
                  "mutability": "mutable",
                  "name": "_evmGasPrice",
                  "nameLocation": "5260:12:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2589,
                  "src": "5252:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2577,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5252:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5251:22:17"
            },
            "returnParameters": {
              "id": 2583,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2582,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2589,
                  "src": "5312:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2581,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5312:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5311:9:17"
            },
            "scope": 3989,
            "src": "5221:165:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2611,
              "nodeType": "Block",
              "src": "5484:174:17",
              "statements": [
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2609,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "components": [
                        {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2606,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 2600,
                                "name": "_evmGasPrice",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2591,
                                "src": "5564:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 2597,
                                    "name": "witOracle",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2342,
                                    "src": "5537:9:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "id": 2596,
                                  "name": "IWitOracleQueriable",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 26795,
                                  "src": "5517:19:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                                    "typeString": "type(contract IWitOracleQueriable)"
                                  }
                                },
                                "id": 2598,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5517:30:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                  "typeString": "contract IWitOracleQueriable"
                                }
                              },
                              "id": 2599,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5548:15:17",
                              "memberName": "estimateBaseFee",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 26626,
                              "src": "5517:46:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                                "typeString": "function (uint256) view external returns (uint256)"
                              }
                            },
                            "id": 2601,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5517:60:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "components": [
                              {
                                "commonType": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                },
                                "id": 2604,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "hexValue": "313030",
                                  "id": 2602,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5598:3:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_100_by_1",
                                    "typeString": "int_const 100"
                                  },
                                  "value": "100"
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "+",
                                "rightExpression": {
                                  "id": 2603,
                                  "name": "__baseFeeOverheadPercentage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2350,
                                  "src": "5604:27:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint16",
                                    "typeString": "uint16"
                                  }
                                },
                                "src": "5598:33:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              }
                            ],
                            "id": 2605,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "5597:35:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          },
                          "src": "5517:115:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 2607,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "5502:141:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "hexValue": "313030",
                      "id": 2608,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5646:3:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_100_by_1",
                        "typeString": "int_const 100"
                      },
                      "value": "100"
                    },
                    "src": "5502:147:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 2595,
                  "id": 2610,
                  "nodeType": "Return",
                  "src": "5495:154:17"
                }
              ]
            },
            "id": 2612,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_estimateUpdateRequestFee",
            "nameLocation": "5407:25:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2592,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2591,
                  "mutability": "mutable",
                  "name": "_evmGasPrice",
                  "nameLocation": "5441:12:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2612,
                  "src": "5433:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2590,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5433:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5432:22:17"
            },
            "returnParameters": {
              "id": 2595,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2594,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2612,
                  "src": "5478:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2593,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5478:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5477:6:17"
            },
            "scope": 3989,
            "src": "5398:260:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              29172
            ],
            "body": {
              "id": 2662,
              "nodeType": "Block",
              "src": "6106:276:17",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2624,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 2619,
                            "name": "__storage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3988,
                            "src": "6121:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                              "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                            }
                          },
                          "id": 2620,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6121:11:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                            "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                          }
                        },
                        "id": 2621,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6133:3:17",
                        "memberName": "ids",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25146,
                        "src": "6121:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                          "typeString": "bytes4[] storage ref"
                        }
                      },
                      "id": 2622,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6137:6:17",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "6121:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 2623,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6146:1:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "6121:26:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2661,
                  "nodeType": "IfStatement",
                  "src": "6117:258:17",
                  "trueBody": {
                    "id": 2660,
                    "nodeType": "Block",
                    "src": "6149:226:17",
                    "statements": [
                      {
                        "expression": {
                          "id": 2633,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 2625,
                            "name": "_footprint",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2617,
                            "src": "6164:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "expression": {
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 2627,
                                      "name": "__storage",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3988,
                                      "src": "6190:9:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                        "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                      }
                                    },
                                    "id": 2628,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6190:11:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                      "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                    }
                                  },
                                  "id": 2629,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "6202:3:17",
                                  "memberName": "ids",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25146,
                                  "src": "6190:15:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                    "typeString": "bytes4[] storage ref"
                                  }
                                },
                                "id": 2631,
                                "indexExpression": {
                                  "hexValue": "30",
                                  "id": 2630,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "6206:1:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6190:18:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 2626,
                              "name": "_footprintOf",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3692,
                              "src": "6177:12:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bytes4_$",
                                "typeString": "function (bytes4) view returns (bytes4)"
                              }
                            },
                            "id": 2632,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6177:32:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "6164:45:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 2634,
                        "nodeType": "ExpressionStatement",
                        "src": "6164:45:17"
                      },
                      {
                        "body": {
                          "id": 2658,
                          "nodeType": "Block",
                          "src": "6281:83:17",
                          "statements": [
                            {
                              "expression": {
                                "id": 2656,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 2648,
                                  "name": "_footprint",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2617,
                                  "src": "6300:10:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "^=",
                                "rightHandSide": {
                                  "arguments": [
                                    {
                                      "baseExpression": {
                                        "expression": {
                                          "arguments": [],
                                          "expression": {
                                            "argumentTypes": [],
                                            "id": 2650,
                                            "name": "__storage",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3988,
                                            "src": "6327:9:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                              "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                            }
                                          },
                                          "id": 2651,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "6327:11:17",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                            "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                          }
                                        },
                                        "id": 2652,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "6339:3:17",
                                        "memberName": "ids",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 25146,
                                        "src": "6327:15:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                          "typeString": "bytes4[] storage ref"
                                        }
                                      },
                                      "id": 2654,
                                      "indexExpression": {
                                        "id": 2653,
                                        "name": "_ix",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2636,
                                        "src": "6343:3:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "6327:20:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    ],
                                    "id": 2649,
                                    "name": "_footprintOf",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3692,
                                    "src": "6314:12:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bytes4_$",
                                      "typeString": "function (bytes4) view returns (bytes4)"
                                    }
                                  },
                                  "id": 2655,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "6314:34:17",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "src": "6300:48:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "id": 2657,
                              "nodeType": "ExpressionStatement",
                              "src": "6300:48:17"
                            }
                          ]
                        },
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2644,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 2639,
                            "name": "_ix",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2636,
                            "src": "6243:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 2640,
                                  "name": "__storage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3988,
                                  "src": "6249:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                  }
                                },
                                "id": 2641,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6249:11:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                }
                              },
                              "id": 2642,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "6261:3:17",
                              "memberName": "ids",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25146,
                              "src": "6249:15:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                "typeString": "bytes4[] storage ref"
                              }
                            },
                            "id": 2643,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6265:6:17",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "6249:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "6243:28:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 2659,
                        "initializationExpression": {
                          "assignments": [
                            2636
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 2636,
                              "mutability": "mutable",
                              "name": "_ix",
                              "nameLocation": "6234:3:17",
                              "nodeType": "VariableDeclaration",
                              "scope": 2659,
                              "src": "6229:8:17",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 2635,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "6229:4:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "id": 2638,
                          "initialValue": {
                            "hexValue": "31",
                            "id": 2637,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6240:1:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "6229:12:17"
                        },
                        "isSimpleCounterLoop": true,
                        "loopExpression": {
                          "expression": {
                            "id": 2646,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "++",
                            "prefix": false,
                            "src": "6273:6:17",
                            "subExpression": {
                              "id": 2645,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2636,
                              "src": "6273:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 2647,
                          "nodeType": "ExpressionStatement",
                          "src": "6273:6:17"
                        },
                        "nodeType": "ForStatement",
                        "src": "6224:140:17"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 2613,
              "nodeType": "StructuredDocumentation",
              "src": "5670:319:17",
              "text": "@notice Returns unique hash determined by the combination of data sources being used\n @notice on non-routed price feeds, and dependencies of routed price feeds.\n @dev Ergo, `footprint()` changes if any data source is modified, or the dependecy tree\n @dev on any routed price feed is altered."
            },
            "functionSelector": "8a416ea9",
            "id": 2663,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "footprint",
            "nameLocation": "6004:9:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2615,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6034:8:17"
            },
            "parameters": {
              "id": 2614,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6013:2:17"
            },
            "returnParameters": {
              "id": 2618,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2617,
                  "mutability": "mutable",
                  "name": "_footprint",
                  "nameLocation": "6089:10:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2663,
                  "src": "6082:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2616,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "6082:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6081:19:17"
            },
            "scope": 3989,
            "src": "5995:387:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29180
            ],
            "body": {
              "id": 2676,
              "nodeType": "Block",
              "src": "6505:66:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 2673,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2665,
                        "src": "6555:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 2671,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "6523:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 2672,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6550:4:17",
                      "memberName": "hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25263,
                      "src": "6523:31:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 2674,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6523:40:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "functionReturnParameters": 2670,
                  "id": 2675,
                  "nodeType": "Return",
                  "src": "6516:47:17"
                }
              ]
            },
            "functionSelector": "b411ee94",
            "id": 2677,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nameLocation": "6399:4:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2667,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6444:8:17"
            },
            "parameters": {
              "id": 2666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2665,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "6418:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2677,
                  "src": "6404:21:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2664,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6404:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6403:23:17"
            },
            "returnParameters": {
              "id": 2670,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2669,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2677,
                  "src": "6492:6:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2668,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "6492:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6491:8:17"
            },
            "scope": 3989,
            "src": "6390:181:17",
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29264
            ],
            "body": {
              "id": 2691,
              "nodeType": "Block",
              "src": "6694:79:17",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 2687,
                          "name": "feedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2679,
                          "src": "6750:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        ],
                        "expression": {
                          "id": 2685,
                          "name": "WitPriceFeedsLegacyDataLib",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26464,
                          "src": "6712:26:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                            "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                          }
                        },
                        "id": 2686,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6739:10:17",
                        "memberName": "seekRecord",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25352,
                        "src": "6712:37:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                          "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                        }
                      },
                      "id": 2688,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6712:45:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                      }
                    },
                    "id": 2689,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "6758:7:17",
                    "memberName": "caption",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 25154,
                    "src": "6712:53:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 2684,
                  "id": 2690,
                  "nodeType": "Return",
                  "src": "6705:60:17"
                }
              ]
            },
            "functionSelector": "ef1dff2b",
            "id": 2692,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupCaption",
            "nameLocation": "6588:13:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2681,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6626:8:17"
            },
            "parameters": {
              "id": 2680,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2679,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "6609:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2692,
                  "src": "6602:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2678,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "6602:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6601:15:17"
            },
            "returnParameters": {
              "id": 2684,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2683,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2692,
                  "src": "6674:13:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2682,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6674:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6673:15:17"
            },
            "scope": 3989,
            "src": "6579:194:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29341
            ],
            "body": {
              "id": 2709,
              "nodeType": "Block",
              "src": "6955:69:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 2705,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "6973:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 2706,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7000:14:17",
                      "memberName": "supportedFeeds",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26228,
                      "src": "6973:41:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_view$__$returns$_t_array$_t_bytes4_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                        "typeString": "function () view returns (bytes4[] memory,string memory[] memory,bytes32[] memory)"
                      }
                    },
                    "id": 2707,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6973:43:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_array$_t_bytes4_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                      "typeString": "tuple(bytes4[] memory,string memory[] memory,bytes32[] memory)"
                    }
                  },
                  "functionReturnParameters": 2704,
                  "id": 2708,
                  "nodeType": "Return",
                  "src": "6966:50:17"
                }
              ]
            },
            "functionSelector": "0306732e",
            "id": 2710,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "supportedFeeds",
            "nameLocation": "6790:14:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2694,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6824:8:17"
            },
            "parameters": {
              "id": 2693,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6804:2:17"
            },
            "returnParameters": {
              "id": 2704,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2697,
                  "mutability": "mutable",
                  "name": "_ids",
                  "nameLocation": "6890:4:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2710,
                  "src": "6874:20:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2695,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "6874:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 2696,
                    "nodeType": "ArrayTypeName",
                    "src": "6874:8:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2700,
                  "mutability": "mutable",
                  "name": "_captions",
                  "nameLocation": "6912:9:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2710,
                  "src": "6896:25:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2698,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "6896:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 2699,
                    "nodeType": "ArrayTypeName",
                    "src": "6896:8:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2703,
                  "mutability": "mutable",
                  "name": "_solvers",
                  "nameLocation": "6940:8:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2710,
                  "src": "6923:25:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2701,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "6923:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 2702,
                    "nodeType": "ArrayTypeName",
                    "src": "6923:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6873:76:17"
            },
            "scope": 3989,
            "src": "6781:243:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29349
            ],
            "body": {
              "id": 2734,
              "nodeType": "Block",
              "src": "7164:135:17",
              "statements": [
                {
                  "assignments": [
                    2719
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2719,
                      "mutability": "mutable",
                      "name": "feedId",
                      "nameLocation": "7182:6:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 2734,
                      "src": "7175:13:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 2718,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "7175:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2723,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 2721,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2712,
                        "src": "7196:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 2720,
                      "name": "hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2677,
                      "src": "7191:4:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 2722,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7191:13:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7175:29:17"
                },
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    },
                    "id": 2732,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "arguments": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "id": 2727,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2719,
                                "src": "7265:6:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "expression": {
                                "id": 2725,
                                "name": "WitPriceFeedsLegacyDataLib",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26464,
                                "src": "7227:26:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                  "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                                }
                              },
                              "id": 2726,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "7254:10:17",
                              "memberName": "seekRecord",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25352,
                              "src": "7227:37:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                                "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                              }
                            },
                            "id": 2728,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7227:45:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                            }
                          },
                          "id": 2729,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "7273:7:17",
                          "memberName": "caption",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25154,
                          "src": "7227:53:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        ],
                        "id": 2724,
                        "name": "hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2677,
                        "src": "7222:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                          "typeString": "function (string memory) pure returns (bytes4)"
                        }
                      },
                      "id": 2730,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "7222:59:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "id": 2731,
                      "name": "feedId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2719,
                      "src": "7285:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "src": "7222:69:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 2717,
                  "id": 2733,
                  "nodeType": "Return",
                  "src": "7215:76:17"
                }
              ]
            },
            "functionSelector": "c5010d17",
            "id": 2735,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "supportsCaption",
            "nameLocation": "7045:15:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2714,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7103:8:17"
            },
            "parameters": {
              "id": 2713,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2712,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "7077:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2735,
                  "src": "7061:23:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2711,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7061:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7060:25:17"
            },
            "returnParameters": {
              "id": 2717,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2716,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2735,
                  "src": "7153:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2715,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "7153:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7152:6:17"
            },
            "scope": 3989,
            "src": "7036:263:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29355
            ],
            "body": {
              "id": 2746,
              "nodeType": "Block",
              "src": "7408:48:17",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2741,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3988,
                          "src": "7426:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 2742,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7426:11:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                        }
                      },
                      "id": 2743,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7438:3:17",
                      "memberName": "ids",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25146,
                      "src": "7426:15:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                        "typeString": "bytes4[] storage ref"
                      }
                    },
                    "id": 2744,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "7442:6:17",
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "src": "7426:22:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 2740,
                  "id": 2745,
                  "nodeType": "Return",
                  "src": "7419:29:17"
                }
              ]
            },
            "functionSelector": "d6a3614f",
            "id": 2747,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "totalFeeds",
            "nameLocation": "7320:10:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2737,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7343:8:17"
            },
            "parameters": {
              "id": 2736,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7330:2:17"
            },
            "returnParameters": {
              "id": 2740,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2739,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2747,
                  "src": "7394:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2738,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7394:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7393:9:17"
            },
            "scope": 3989,
            "src": "7311:145:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29188
            ],
            "body": {
              "id": 2763,
              "nodeType": "Block",
              "src": "7567:109:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 2758,
                            "name": "witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2342,
                            "src": "7649:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2757,
                          "name": "IWitOracleQueriable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26795,
                          "src": "7629:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                            "typeString": "type(contract IWitOracleQueriable)"
                          }
                        },
                        "id": 2759,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7629:30:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        }
                      },
                      {
                        "id": 2760,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2749,
                        "src": "7661:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        },
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "expression": {
                        "id": 2755,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "7585:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 2756,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7612:16:17",
                      "memberName": "lastValidQueryId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25302,
                      "src": "7585:43:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_contract$_IWitOracleQueriable_$26795_$_t_bytes4_$returns$_t_uint256_$",
                        "typeString": "function (contract IWitOracleQueriable,bytes4) view returns (uint256)"
                      }
                    },
                    "id": 2761,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7585:83:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 2754,
                  "id": 2762,
                  "nodeType": "Return",
                  "src": "7578:90:17"
                }
              ]
            },
            "functionSelector": "029db958",
            "id": 2764,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lastValidQueryId",
            "nameLocation": "7473:16:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2751,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7514:8:17"
            },
            "parameters": {
              "id": 2750,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2749,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "7497:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2764,
                  "src": "7490:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2748,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "7490:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7489:15:17"
            },
            "returnParameters": {
              "id": 2754,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2753,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2764,
                  "src": "7553:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2752,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7553:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7552:9:17"
            },
            "scope": 3989,
            "src": "7464:212:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29197
            ],
            "body": {
              "id": 2793,
              "nodeType": "Block",
              "src": "7813:211:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "id": 2785,
                                        "name": "witOracle",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2342,
                                        "src": "7984:9:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "id": 2784,
                                      "name": "IWitOracleQueriable",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 26795,
                                      "src": "7964:19:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                                        "typeString": "type(contract IWitOracleQueriable)"
                                      }
                                    },
                                    "id": 2786,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7964:30:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                      "typeString": "contract IWitOracleQueriable"
                                    }
                                  },
                                  {
                                    "id": 2787,
                                    "name": "feedId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2766,
                                    "src": "7996:6:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                      "typeString": "contract IWitOracleQueriable"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  ],
                                  "expression": {
                                    "id": 2782,
                                    "name": "WitPriceFeedsLegacyDataLib",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 26464,
                                    "src": "7920:26:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                      "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                                    }
                                  },
                                  "id": 2783,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "7947:16:17",
                                  "memberName": "lastValidQueryId",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25302,
                                  "src": "7920:43:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_contract$_IWitOracleQueriable_$26795_$_t_bytes4_$returns$_t_uint256_$",
                                    "typeString": "function (contract IWitOracleQueriable,bytes4) view returns (uint256)"
                                  }
                                },
                                "id": 2788,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "7920:83:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 2781,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "7899:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 2780,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "7899:6:17",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 2789,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7899:115:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 2777,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "7879:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 2778,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "7886:7:17",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "7879:14:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 2779,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "7894:4:17",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "7879:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_QueryId_$37151_$",
                            "typeString": "function (uint64) pure returns (Witnet.QueryId)"
                          }
                        },
                        "id": 2790,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7879:136:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 2774,
                            "name": "witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2342,
                            "src": "7851:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2773,
                          "name": "IWitOracleQueriable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26795,
                          "src": "7831:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                            "typeString": "type(contract IWitOracleQueriable)"
                          }
                        },
                        "id": 2775,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7831:30:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        }
                      },
                      "id": 2776,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7862:16:17",
                      "memberName": "getQueryResponse",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26695,
                      "src": "7831:47:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_struct$_QueryResponse_$37365_memory_ptr_$",
                        "typeString": "function (Witnet.QueryId) view external returns (struct Witnet.QueryResponse memory)"
                      }
                    },
                    "id": 2791,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7831:185:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryResponse_$37365_memory_ptr",
                      "typeString": "struct Witnet.QueryResponse memory"
                    }
                  },
                  "functionReturnParameters": 2772,
                  "id": 2792,
                  "nodeType": "Return",
                  "src": "7824:192:17"
                }
              ]
            },
            "functionSelector": "cfae6929",
            "id": 2794,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lastValidQueryResponse",
            "nameLocation": "7693:22:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2768,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7740:8:17"
            },
            "parameters": {
              "id": 2767,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2766,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "7723:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2794,
                  "src": "7716:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2765,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "7716:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7715:15:17"
            },
            "returnParameters": {
              "id": 2772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2771,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2794,
                  "src": "7779:27:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryResponse_$37365_memory_ptr",
                    "typeString": "struct Witnet.QueryResponse"
                  },
                  "typeName": {
                    "id": 2770,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2769,
                      "name": "Witnet.QueryResponse",
                      "nameLocations": [
                        "7779:6:17",
                        "7786:13:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37365,
                      "src": "7779:20:17"
                    },
                    "referencedDeclaration": 37365,
                    "src": "7779:20:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryResponse_$37365_storage_ptr",
                      "typeString": "struct Witnet.QueryResponse"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7778:29:17"
            },
            "scope": 3989,
            "src": "7684:340:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29223
            ],
            "body": {
              "id": 2808,
              "nodeType": "Block",
              "src": "8138:91:17",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 2804,
                          "name": "feedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2796,
                          "src": "8194:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        ],
                        "expression": {
                          "id": 2802,
                          "name": "WitPriceFeedsLegacyDataLib",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26464,
                          "src": "8156:26:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                            "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                          }
                        },
                        "id": 2803,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8183:10:17",
                        "memberName": "seekRecord",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25352,
                        "src": "8156:37:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                          "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                        }
                      },
                      "id": 2805,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "8156:45:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                      }
                    },
                    "id": 2806,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "8202:19:17",
                    "memberName": "latestUpdateQueryId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 25162,
                    "src": "8156:65:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 2801,
                  "id": 2807,
                  "nodeType": "Return",
                  "src": "8149:72:17"
                }
              ]
            },
            "functionSelector": "5be93984",
            "id": 2809,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateQueryId",
            "nameLocation": "8041:19:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2798,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8085:8:17"
            },
            "parameters": {
              "id": 2797,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2796,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "8068:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2809,
                  "src": "8061:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2795,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8061:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8060:15:17"
            },
            "returnParameters": {
              "id": 2801,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2800,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2809,
                  "src": "8124:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2799,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8124:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8123:9:17"
            },
            "scope": 3989,
            "src": "8032:197:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29232
            ],
            "body": {
              "id": 2834,
              "nodeType": "Block",
              "src": "8370:154:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "id": 2828,
                                    "name": "feedId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2811,
                                    "src": "8496:6:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  ],
                                  "id": 2827,
                                  "name": "latestUpdateQueryId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2809,
                                  "src": "8476:19:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                                    "typeString": "function (bytes4) view returns (uint256)"
                                  }
                                },
                                "id": 2829,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "8476:27:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 2826,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "8455:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 2825,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "8455:6:17",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 2830,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8455:59:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 2822,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "8435:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 2823,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8442:7:17",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "8435:14:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 2824,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "8450:4:17",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "8435:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_QueryId_$37151_$",
                            "typeString": "function (uint64) pure returns (Witnet.QueryId)"
                          }
                        },
                        "id": 2831,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8435:80:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 2819,
                            "name": "witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2342,
                            "src": "8408:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2818,
                          "name": "IWitOracleQueriable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26795,
                          "src": "8388:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                            "typeString": "type(contract IWitOracleQueriable)"
                          }
                        },
                        "id": 2820,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8388:30:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        }
                      },
                      "id": 2821,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8419:15:17",
                      "memberName": "getQueryRequest",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26685,
                      "src": "8388:46:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_struct$_QueryRequest_$37351_memory_ptr_$",
                        "typeString": "function (Witnet.QueryId) view external returns (struct Witnet.QueryRequest memory)"
                      }
                    },
                    "id": 2832,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8388:128:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryRequest_$37351_memory_ptr",
                      "typeString": "struct Witnet.QueryRequest memory"
                    }
                  },
                  "functionReturnParameters": 2817,
                  "id": 2833,
                  "nodeType": "Return",
                  "src": "8381:135:17"
                }
              ]
            },
            "functionSelector": "5c0d9d80",
            "id": 2835,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateQueryRequest",
            "nameLocation": "8246:24:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2813,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8295:8:17"
            },
            "parameters": {
              "id": 2812,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2811,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "8278:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2835,
                  "src": "8271:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2810,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8271:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8270:15:17"
            },
            "returnParameters": {
              "id": 2817,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2816,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2835,
                  "src": "8337:26:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryRequest_$37351_memory_ptr",
                    "typeString": "struct Witnet.QueryRequest"
                  },
                  "typeName": {
                    "id": 2815,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2814,
                      "name": "Witnet.QueryRequest",
                      "nameLocations": [
                        "8337:6:17",
                        "8344:12:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37351,
                      "src": "8337:19:17"
                    },
                    "referencedDeclaration": 37351,
                    "src": "8337:19:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryRequest_$37351_storage_ptr",
                      "typeString": "struct Witnet.QueryRequest"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8336:28:17"
            },
            "scope": 3989,
            "src": "8237:287:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29288
            ],
            "body": {
              "id": 2872,
              "nodeType": "Block",
              "src": "8644:308:17",
              "statements": [
                {
                  "assignments": [
                    2847
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2847,
                      "mutability": "mutable",
                      "name": "__record",
                      "nameLocation": "8697:8:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 2872,
                      "src": "8655:50:17",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                      },
                      "typeName": {
                        "id": 2846,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 2845,
                          "name": "WitPriceFeedsLegacyDataLib.Record",
                          "nameLocations": [
                            "8655:26:17",
                            "8682:6:17"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 25171,
                          "src": "8655:33:17"
                        },
                        "referencedDeclaration": 25171,
                        "src": "8655:33:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2852,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 2850,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2837,
                        "src": "8746:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "expression": {
                        "id": 2848,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "8708:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 2849,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8735:10:17",
                      "memberName": "seekRecord",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25352,
                      "src": "8708:37:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                      }
                    },
                    "id": 2851,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8708:45:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8655:98:17"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        "id": 2857,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 2854,
                            "name": "__record",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2847,
                            "src": "8787:8:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                            }
                          },
                          "id": 2855,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "8796:7:17",
                          "memberName": "radHash",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25164,
                          "src": "8787:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 2856,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "8807:1:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "8787:21:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6e6f205241442068617368",
                        "id": 2858,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8823:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_afc9aefd7ba589895d797286edd9fcc02106ba5b9c1a6d645873c979d77c6c4e",
                          "typeString": "literal_string \"no RAD hash\""
                        },
                        "value": "no RAD hash"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_afc9aefd7ba589895d797286edd9fcc02106ba5b9c1a6d645873c979d77c6c4e",
                          "typeString": "literal_string \"no RAD hash\""
                        }
                      ],
                      "id": 2853,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "8764:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 2859,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8764:83:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2860,
                  "nodeType": "ExpressionStatement",
                  "src": "8764:83:17"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 2867,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2847,
                              "src": "8926:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 2868,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8935:7:17",
                            "memberName": "radHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25164,
                            "src": "8926:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 2864,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "8904:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 2865,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8911:9:17",
                            "memberName": "RadonHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37153,
                            "src": "8904:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                              "typeString": "type(Witnet.RadonHash)"
                            }
                          },
                          "id": 2866,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "8921:4:17",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "8904:21:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                            "typeString": "function (bytes32) pure returns (Witnet.RadonHash)"
                          }
                        },
                        "id": 2869,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8904:39:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        }
                      ],
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2861,
                          "name": "_registry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2423,
                          "src": "8865:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IWitOracleRadonRegistry_$27394_$",
                            "typeString": "function () view returns (contract IWitOracleRadonRegistry)"
                          }
                        },
                        "id": 2862,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8865:11:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      "id": 2863,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8877:26:17",
                      "memberName": "lookupRadonRequestBytecode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27203,
                      "src": "8865:38:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (Witnet.RadonHash) view external returns (bytes memory)"
                      }
                    },
                    "id": 2870,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8865:79:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 2842,
                  "id": 2871,
                  "nodeType": "Return",
                  "src": "8858:86:17"
                }
              ]
            },
            "functionSelector": "4efef9c0",
            "id": 2873,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetBytecode",
            "nameLocation": "8541:20:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2839,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8586:8:17"
            },
            "parameters": {
              "id": 2838,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2837,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "8569:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2873,
                  "src": "8562:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2836,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8562:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8561:15:17"
            },
            "returnParameters": {
              "id": 2842,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2841,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2873,
                  "src": "8625:12:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 2840,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "8625:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8624:14:17"
            },
            "scope": 3989,
            "src": "8532:420:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29295
            ],
            "body": {
              "id": 2887,
              "nodeType": "Block",
              "src": "9066:79:17",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 2883,
                          "name": "feedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2875,
                          "src": "9122:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        ],
                        "expression": {
                          "id": 2881,
                          "name": "WitPriceFeedsLegacyDataLib",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26464,
                          "src": "9084:26:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                            "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                          }
                        },
                        "id": 2882,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9111:10:17",
                        "memberName": "seekRecord",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25352,
                        "src": "9084:37:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                          "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                        }
                      },
                      "id": 2884,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "9084:45:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                      }
                    },
                    "id": 2885,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "9130:7:17",
                    "memberName": "radHash",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 25164,
                    "src": "9084:53:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 2880,
                  "id": 2886,
                  "nodeType": "Return",
                  "src": "9077:60:17"
                }
              ]
            },
            "functionSelector": "8df3fdfd",
            "id": 2888,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetRadHash",
            "nameLocation": "8969:19:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2877,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9013:8:17"
            },
            "parameters": {
              "id": 2876,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2875,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "8996:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "8989:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2874,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8989:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8988:15:17"
            },
            "returnParameters": {
              "id": 2880,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2879,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "9052:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2878,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9052:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9051:9:17"
            },
            "scope": 3989,
            "src": "8960:185:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29304
            ],
            "body": {
              "id": 2910,
              "nodeType": "Block",
              "src": "9299:142:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 2905,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2890,
                                "src": "9414:6:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 2904,
                              "name": "lookupWitnetRadHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2888,
                              "src": "9394:19:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bytes32_$",
                                "typeString": "function (bytes4) view returns (bytes32)"
                              }
                            },
                            "id": 2906,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "9394:27:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 2901,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "9372:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 2902,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "9379:9:17",
                            "memberName": "RadonHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37153,
                            "src": "9372:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                              "typeString": "type(Witnet.RadonHash)"
                            }
                          },
                          "id": 2903,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "9389:4:17",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "9372:21:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                            "typeString": "function (bytes32) pure returns (Witnet.RadonHash)"
                          }
                        },
                        "id": 2907,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9372:50:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                          "typeString": "Witnet.RadonHash"
                        }
                      ],
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2898,
                          "name": "_registry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2423,
                          "src": "9317:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IWitOracleRadonRegistry_$27394_$",
                            "typeString": "function () view returns (contract IWitOracleRadonRegistry)"
                          }
                        },
                        "id": 2899,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9317:11:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      "id": 2900,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9329:28:17",
                      "memberName": "lookupRadonRequestRetrievals",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27234,
                      "src": "9317:40:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (Witnet.RadonHash) view external returns (struct Witnet.RadonRetrieval memory[] memory)"
                      }
                    },
                    "id": 2908,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9317:116:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                    }
                  },
                  "functionReturnParameters": 2897,
                  "id": 2909,
                  "nodeType": "Return",
                  "src": "9310:123:17"
                }
              ]
            },
            "functionSelector": "806d7e8f",
            "id": 2911,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetRetrievals",
            "nameLocation": "9162:22:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2892,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9209:8:17"
            },
            "parameters": {
              "id": 2891,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2890,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "9192:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2911,
                  "src": "9185:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2889,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "9185:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9184:15:17"
            },
            "returnParameters": {
              "id": 2897,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2896,
                  "mutability": "mutable",
                  "name": "_retrievals",
                  "nameLocation": "9281:11:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2911,
                  "src": "9250:42:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct Witnet.RadonRetrieval[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2894,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 2893,
                        "name": "Witnet.RadonRetrieval",
                        "nameLocations": [
                          "9250:6:17",
                          "9257:14:17"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37795,
                        "src": "9250:21:17"
                      },
                      "referencedDeclaration": 37795,
                      "src": "9250:21:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RadonRetrieval_$37795_storage_ptr",
                        "typeString": "struct Witnet.RadonRetrieval"
                      }
                    },
                    "id": 2895,
                    "nodeType": "ArrayTypeName",
                    "src": "9250:23:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.RadonRetrieval[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9249:44:17"
            },
            "scope": 3989,
            "src": "9153:288:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29318
            ],
            "body": {
              "id": 2924,
              "nodeType": "Block",
              "src": "9571:68:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 2920,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2913,
                        "src": "9605:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      {
                        "id": 2921,
                        "name": "__defaultQuerySLA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2348,
                        "src": "9613:17:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                          "typeString": "struct Witnet.QuerySLA storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                          "typeString": "struct Witnet.QuerySLA storage ref"
                        }
                      ],
                      "id": 2919,
                      "name": "__requestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        3855,
                        3977
                      ],
                      "referencedDeclaration": 3977,
                      "src": "9589:15:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (bytes4,struct Witnet.QuerySLA memory) returns (uint256)"
                      }
                    },
                    "id": 2922,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9589:42:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 2918,
                  "id": 2923,
                  "nodeType": "Return",
                  "src": "9582:49:17"
                }
              ]
            },
            "functionSelector": "3e088e12",
            "id": 2925,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "requestUpdate",
            "nameLocation": "9458:13:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2915,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9530:8:17"
            },
            "parameters": {
              "id": 2914,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2913,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "9479:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2925,
                  "src": "9472:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2912,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "9472:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9471:15:17"
            },
            "returnParameters": {
              "id": 2918,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2917,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2925,
                  "src": "9557:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2916,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9557:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9556:9:17"
            },
            "scope": 3989,
            "src": "9449:190:17",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29159
            ],
            "body": {
              "id": 2959,
              "nodeType": "Block",
              "src": "10000:471:17",
              "statements": [
                {
                  "assignments": [
                    2934
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2934,
                      "mutability": "mutable",
                      "name": "_numWitnesses",
                      "nameLocation": "10017:13:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 2959,
                      "src": "10011:19:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      },
                      "typeName": {
                        "id": 2933,
                        "name": "uint8",
                        "nodeType": "ElementaryTypeName",
                        "src": "10011:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2940,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 2937,
                          "name": "__defaultQuerySLA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2348,
                          "src": "10039:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                            "typeString": "struct Witnet.QuerySLA storage ref"
                          }
                        },
                        "id": 2938,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "10057:16:17",
                        "memberName": "witCommitteeSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37370,
                        "src": "10039:34:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      ],
                      "id": 2936,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "10033:5:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_uint8_$",
                        "typeString": "type(uint8)"
                      },
                      "typeName": {
                        "id": 2935,
                        "name": "uint8",
                        "nodeType": "ElementaryTypeName",
                        "src": "10033:5:17",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 2939,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10033:41:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10011:63:17"
                },
                {
                  "assignments": [
                    2942
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2942,
                      "mutability": "mutable",
                      "name": "_unitaryReward",
                      "nameLocation": "10092:14:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 2959,
                      "src": "10085:21:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      },
                      "typeName": {
                        "id": 2941,
                        "name": "uint64",
                        "nodeType": "ElementaryTypeName",
                        "src": "10085:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2945,
                  "initialValue": {
                    "expression": {
                      "id": 2943,
                      "name": "__defaultQuerySLA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2348,
                      "src": "10109:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                        "typeString": "struct Witnet.QuerySLA storage ref"
                      }
                    },
                    "id": 2944,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "10127:16:17",
                    "memberName": "witUnitaryReward",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 37372,
                    "src": "10109:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10085:58:17"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 2948,
                        "name": "_numWitnesses",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2934,
                        "src": "10222:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      {
                        "hexValue": "3531",
                        "id": 2949,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10274:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_51_by_1",
                          "typeString": "int_const 51"
                        },
                        "value": "51"
                      },
                      {
                        "id": 2950,
                        "name": "_unitaryReward",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2942,
                        "src": "10306:14:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 2953,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 2951,
                          "name": "_unitaryReward",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2942,
                          "src": "10354:14:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "*",
                        "rightExpression": {
                          "id": 2952,
                          "name": "_numWitnesses",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2934,
                          "src": "10371:13:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "src": "10354:30:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 2956,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 2954,
                          "name": "_unitaryReward",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2942,
                          "src": "10421:14:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "/",
                        "rightExpression": {
                          "id": 2955,
                          "name": "_numWitnesses",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2934,
                          "src": "10438:13:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "src": "10421:30:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        {
                          "typeIdentifier": "t_rational_51_by_1",
                          "typeString": "int_const 51"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      ],
                      "expression": {
                        "id": 2946,
                        "name": "IWitPriceFeedsLegacy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 29361,
                        "src": "10161:20:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacy_$29361_$",
                          "typeString": "type(contract IWitPriceFeedsLegacy)"
                        }
                      },
                      "id": 2947,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10182:10:17",
                      "memberName": "RadonSLAv1",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 29141,
                      "src": "10161:31:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_RadonSLAv1_$29141_storage_ptr_$",
                        "typeString": "type(struct IWitPriceFeedsLegacy.RadonSLAv1 storage pointer)"
                      }
                    },
                    "id": 2957,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "10208:12:17",
                      "10250:22:17",
                      "10291:13:17",
                      "10335:17:17",
                      "10399:20:17"
                    ],
                    "names": [
                      "numWitnesses",
                      "minConsensusPercentage",
                      "witnessReward",
                      "witnessCollateral",
                      "minerCommitRevealFee"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "10161:302:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv1_$29141_memory_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv1 memory"
                    }
                  },
                  "functionReturnParameters": 2932,
                  "id": 2958,
                  "nodeType": "Return",
                  "src": "10154:309:17"
                }
              ]
            },
            "documentation": {
              "id": 2926,
              "nodeType": "StructuredDocumentation",
              "src": "9653:236:17",
              "text": "===============================================================================================================\n --- IWitFeedsLegacy -------------------------------------------------------------------------------------------"
            },
            "functionSelector": "6d1178e5",
            "id": 2960,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "defaultRadonSLA",
            "nameLocation": "9910:15:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2928,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9928:8:17"
            },
            "parameters": {
              "id": 2927,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9925:2:17"
            },
            "returnParameters": {
              "id": 2932,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2931,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2960,
                  "src": "9960:38:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv1_$29141_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv1"
                  },
                  "typeName": {
                    "id": 2930,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2929,
                      "name": "IWitPriceFeedsLegacy.RadonSLAv1",
                      "nameLocations": [
                        "9960:20:17",
                        "9981:10:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29141,
                      "src": "9960:31:17"
                    },
                    "referencedDeclaration": 29141,
                    "src": "9960:31:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv1_$29141_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv1"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9959:40:17"
            },
            "scope": 3989,
            "src": "9901:570:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29240
            ],
            "body": {
              "id": 2985,
              "nodeType": "Block",
              "src": "10610:155:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "id": 2979,
                                    "name": "feedId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2962,
                                    "src": "10737:6:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  ],
                                  "id": 2978,
                                  "name": "latestUpdateQueryId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2809,
                                  "src": "10717:19:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                                    "typeString": "function (bytes4) view returns (uint256)"
                                  }
                                },
                                "id": 2980,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10717:27:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 2977,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10696:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 2976,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "10696:6:17",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 2981,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10696:59:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 2973,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "10676:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 2974,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "10683:7:17",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "10676:14:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 2975,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "10691:4:17",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "10676:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_QueryId_$37151_$",
                            "typeString": "function (uint64) pure returns (Witnet.QueryId)"
                          }
                        },
                        "id": 2982,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10676:80:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 2970,
                            "name": "witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2342,
                            "src": "10648:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2969,
                          "name": "IWitOracleQueriable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26795,
                          "src": "10628:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                            "typeString": "type(contract IWitOracleQueriable)"
                          }
                        },
                        "id": 2971,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10628:30:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        }
                      },
                      "id": 2972,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10659:16:17",
                      "memberName": "getQueryResponse",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26695,
                      "src": "10628:47:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_struct$_QueryResponse_$37365_memory_ptr_$",
                        "typeString": "function (Witnet.QueryId) view external returns (struct Witnet.QueryResponse memory)"
                      }
                    },
                    "id": 2983,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10628:129:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryResponse_$37365_memory_ptr",
                      "typeString": "struct Witnet.QueryResponse memory"
                    }
                  },
                  "functionReturnParameters": 2968,
                  "id": 2984,
                  "nodeType": "Return",
                  "src": "10621:136:17"
                }
              ]
            },
            "functionSelector": "d3471e34",
            "id": 2986,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResponse",
            "nameLocation": "10488:20:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2964,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10534:8:17"
            },
            "parameters": {
              "id": 2963,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2962,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "10516:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2986,
                  "src": "10509:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2961,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "10509:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10508:15:17"
            },
            "returnParameters": {
              "id": 2968,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2967,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2986,
                  "src": "10576:27:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryResponse_$37365_memory_ptr",
                    "typeString": "struct Witnet.QueryResponse"
                  },
                  "typeName": {
                    "id": 2966,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2965,
                      "name": "Witnet.QueryResponse",
                      "nameLocations": [
                        "10576:6:17",
                        "10583:13:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37365,
                      "src": "10576:20:17"
                    },
                    "referencedDeclaration": 37365,
                    "src": "10576:20:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryResponse_$37365_storage_ptr",
                      "typeString": "struct Witnet.QueryResponse"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10575:29:17"
            },
            "scope": 3989,
            "src": "10479:286:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29248
            ],
            "body": {
              "id": 3004,
              "nodeType": "Block",
              "src": "10915:105:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 3000,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2988,
                            "src": "11004:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 2999,
                          "name": "latestUpdateQueryId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2809,
                          "src": "10984:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                            "typeString": "function (bytes4) view returns (uint256)"
                          }
                        },
                        "id": 3001,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10984:27:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 2996,
                            "name": "witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2342,
                            "src": "10950:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2995,
                          "name": "IWitOracleLegacy",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 28786,
                          "src": "10933:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                            "typeString": "type(contract IWitOracleLegacy)"
                          }
                        },
                        "id": 2997,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10933:27:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleLegacy_$28786",
                          "typeString": "contract IWitOracleLegacy"
                        }
                      },
                      "id": 2998,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10961:22:17",
                      "memberName": "getQueryResponseStatus",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28673,
                      "src": "10933:50:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_QueryResponseStatus_$28682_$",
                        "typeString": "function (uint256) view external returns (enum IWitOracleLegacy.QueryResponseStatus)"
                      }
                    },
                    "id": 3002,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10933:79:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                      "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                    }
                  },
                  "functionReturnParameters": 2994,
                  "id": 3003,
                  "nodeType": "Return",
                  "src": "10926:86:17"
                }
              ]
            },
            "functionSelector": "f14cb812",
            "id": 3005,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResponseStatus",
            "nameLocation": "10782:26:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2990,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10833:8:17"
            },
            "parameters": {
              "id": 2989,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2988,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "10816:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3005,
                  "src": "10809:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2987,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "10809:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10808:15:17"
            },
            "returnParameters": {
              "id": 2994,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2993,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3005,
                  "src": "10872:36:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                    "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                  },
                  "typeName": {
                    "id": 2992,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2991,
                      "name": "IWitOracleLegacy.QueryResponseStatus",
                      "nameLocations": [
                        "10872:16:17",
                        "10889:19:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28682,
                      "src": "10872:36:17"
                    },
                    "referencedDeclaration": 28682,
                    "src": "10872:36:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                      "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10871:38:17"
            },
            "scope": 3989,
            "src": "10773:247:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29256
            ],
            "body": {
              "id": 3023,
              "nodeType": "Block",
              "src": "11169:102:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 3019,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3007,
                            "src": "11255:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 3018,
                          "name": "latestUpdateQueryId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2809,
                          "src": "11235:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                            "typeString": "function (bytes4) view returns (uint256)"
                          }
                        },
                        "id": 3020,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11235:27:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 3015,
                            "name": "witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2342,
                            "src": "11204:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 3014,
                          "name": "IWitOracleLegacy",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 28786,
                          "src": "11187:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                            "typeString": "type(contract IWitOracleLegacy)"
                          }
                        },
                        "id": 3016,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11187:27:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleLegacy_$28786",
                          "typeString": "contract IWitOracleLegacy"
                        }
                      },
                      "id": 3017,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11215:19:17",
                      "memberName": "getQueryResultError",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28699,
                      "src": "11187:47:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ResultError_$28705_memory_ptr_$",
                        "typeString": "function (uint256) view external returns (struct IWitOracleLegacy.ResultError memory)"
                      }
                    },
                    "id": 3021,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11187:76:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$28705_memory_ptr",
                      "typeString": "struct IWitOracleLegacy.ResultError memory"
                    }
                  },
                  "functionReturnParameters": 3013,
                  "id": 3022,
                  "nodeType": "Return",
                  "src": "11180:83:17"
                }
              ]
            },
            "functionSelector": "49492ef1",
            "id": 3024,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResultError",
            "nameLocation": "11037:23:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3009,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "11085:8:17"
            },
            "parameters": {
              "id": 3008,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3007,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "11068:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3024,
                  "src": "11061:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 3006,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "11061:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11060:15:17"
            },
            "returnParameters": {
              "id": 3013,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3012,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3024,
                  "src": "11127:35:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$28705_memory_ptr",
                    "typeString": "struct IWitOracleLegacy.ResultError"
                  },
                  "typeName": {
                    "id": 3011,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3010,
                      "name": "IWitOracleLegacy.ResultError",
                      "nameLocations": [
                        "11127:16:17",
                        "11144:11:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28705,
                      "src": "11127:28:17"
                    },
                    "referencedDeclaration": 28705,
                    "src": "11127:28:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$28705_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11126:37:17"
            },
            "scope": 3989,
            "src": "11028:243:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29328
            ],
            "body": {
              "id": 3042,
              "nodeType": "Block",
              "src": "11457:75:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3036,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3026,
                        "src": "11491:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 3038,
                            "name": "legacySLA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3029,
                            "src": "11513:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonSLAv2_$29146_calldata_ptr",
                              "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 calldata"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_RadonSLAv2_$29146_calldata_ptr",
                              "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 calldata"
                            }
                          ],
                          "id": 3037,
                          "name": "_intoQuerySLA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3730,
                          "src": "11499:13:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_RadonSLAv2_$29146_memory_ptr_$returns$_t_struct$_QuerySLA_$37373_memory_ptr_$",
                            "typeString": "function (struct IWitPriceFeedsLegacy.RadonSLAv2 memory) view returns (struct Witnet.QuerySLA memory)"
                          }
                        },
                        "id": 3039,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11499:24:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                          "typeString": "struct Witnet.QuerySLA memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                          "typeString": "struct Witnet.QuerySLA memory"
                        }
                      ],
                      "id": 3035,
                      "name": "__requestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        3855,
                        3977
                      ],
                      "referencedDeclaration": 3977,
                      "src": "11475:15:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (bytes4,struct Witnet.QuerySLA memory) returns (uint256)"
                      }
                    },
                    "id": 3040,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11475:49:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3034,
                  "id": 3041,
                  "nodeType": "Return",
                  "src": "11468:56:17"
                }
              ]
            },
            "functionSelector": "abc86c6e",
            "id": 3043,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "requestUpdate",
            "nameLocation": "11292:13:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3031,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "11416:8:17"
            },
            "parameters": {
              "id": 3030,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3026,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "11313:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3043,
                  "src": "11306:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 3025,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "11306:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3029,
                  "mutability": "mutable",
                  "name": "legacySLA",
                  "nameLocation": "11362:9:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3043,
                  "src": "11321:50:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv2_$29146_calldata_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                  },
                  "typeName": {
                    "id": 3028,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3027,
                      "name": "IWitPriceFeedsLegacy.RadonSLAv2",
                      "nameLocations": [
                        "11321:20:17",
                        "11342:10:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29146,
                      "src": "11321:31:17"
                    },
                    "referencedDeclaration": 29146,
                    "src": "11321:31:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv2_$29146_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11305:67:17"
            },
            "returnParameters": {
              "id": 3034,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3033,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3043,
                  "src": "11443:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3032,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11443:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11442:9:17"
            },
            "scope": 3989,
            "src": "11283:249:17",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29360
            ],
            "body": {
              "id": 3054,
              "nodeType": "Block",
              "src": "11607:44:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3051,
                        "name": "witOracle",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2342,
                        "src": "11633:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 3050,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "11625:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 3049,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "11625:7:17",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 3052,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11625:18:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 3048,
                  "id": 3053,
                  "nodeType": "Return",
                  "src": "11618:25:17"
                }
              ]
            },
            "functionSelector": "46d1d21a",
            "id": 3055,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "witnet",
            "nameLocation": "11549:6:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3045,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "11566:8:17"
            },
            "parameters": {
              "id": 3044,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11555:2:17"
            },
            "returnParameters": {
              "id": 3048,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3047,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3055,
                  "src": "11598:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3046,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11598:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11597:9:17"
            },
            "scope": 3989,
            "src": "11540:111:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              335,
              29410
            ],
            "body": {
              "id": 3067,
              "nodeType": "Block",
              "src": "12047:41:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 3063,
                        "name": "Ownable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 415,
                        "src": "12065:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable_$415_$",
                          "typeString": "type(contract Ownable)"
                        }
                      },
                      "id": 3064,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12073:5:17",
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 335,
                      "src": "12065:13:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 3065,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12065:15:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 3062,
                  "id": 3066,
                  "nodeType": "Return",
                  "src": "12058:22:17"
                }
              ]
            },
            "functionSelector": "8da5cb5b",
            "id": 3068,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nameLocation": "11922:5:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3059,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 3057,
                  "name": "IWitPriceFeedsLegacyAdmin",
                  "nameLocations": [
                    "11957:25:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 29469,
                  "src": "11957:25:17"
                },
                {
                  "id": 3058,
                  "name": "Ownable",
                  "nameLocations": [
                    "11984:7:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 415,
                  "src": "11984:7:17"
                }
              ],
              "src": "11947:45:17"
            },
            "parameters": {
              "id": 3056,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11927:2:17"
            },
            "returnParameters": {
              "id": 3062,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3061,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3068,
                  "src": "12033:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3060,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12033:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12032:9:17"
            },
            "scope": 3989,
            "src": "11913:175:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29392,
              45708
            ],
            "body": {
              "id": 3079,
              "nodeType": "Block",
              "src": "12216:49:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 3074,
                        "name": "Ownable2Step",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45709,
                        "src": "12227:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable2Step_$45709_$",
                          "typeString": "type(contract Ownable2Step)"
                        }
                      },
                      "id": 3076,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12240:15:17",
                      "memberName": "acceptOwnership",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45708,
                      "src": "12227:28:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 3077,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12227:30:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3078,
                  "nodeType": "ExpressionStatement",
                  "src": "12227:30:17"
                }
              ]
            },
            "functionSelector": "79ba5097",
            "id": 3080,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "acceptOwnership",
            "nameLocation": "12109:15:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3072,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 3070,
                  "name": "IWitPriceFeedsLegacyAdmin",
                  "nameLocations": [
                    "12154:25:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 29469,
                  "src": "12154:25:17"
                },
                {
                  "id": 3071,
                  "name": "Ownable2Step",
                  "nameLocations": [
                    "12181:12:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45709,
                  "src": "12181:12:17"
                }
              ],
              "src": "12144:50:17"
            },
            "parameters": {
              "id": 3069,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12124:2:17"
            },
            "returnParameters": {
              "id": 3073,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12216:0:17"
            },
            "scope": 3989,
            "src": "12100:165:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29397
            ],
            "body": {
              "id": 3088,
              "nodeType": "Block",
              "src": "12390:53:17",
              "statements": [
                {
                  "expression": {
                    "id": 3086,
                    "name": "__baseFeeOverheadPercentage",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2350,
                    "src": "12408:27:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "functionReturnParameters": 3085,
                  "id": 3087,
                  "nodeType": "Return",
                  "src": "12401:34:17"
                }
              ]
            },
            "functionSelector": "eb92b29b",
            "id": 3089,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "baseFeeOverheadPercentage",
            "nameLocation": "12282:25:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3082,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "12327:8:17"
            },
            "parameters": {
              "id": 3081,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12307:2:17"
            },
            "returnParameters": {
              "id": 3085,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3084,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3089,
                  "src": "12377:6:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 3083,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "12377:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12376:8:17"
            },
            "scope": 3989,
            "src": "12273:170:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29415,
              45647
            ],
            "body": {
              "id": 3101,
              "nodeType": "Block",
              "src": "12597:53:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 3097,
                        "name": "Ownable2Step",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45709,
                        "src": "12615:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable2Step_$45709_$",
                          "typeString": "type(contract Ownable2Step)"
                        }
                      },
                      "id": 3098,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12628:12:17",
                      "memberName": "pendingOwner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45647,
                      "src": "12615:25:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 3099,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12615:27:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 3096,
                  "id": 3100,
                  "nodeType": "Return",
                  "src": "12608:34:17"
                }
              ]
            },
            "functionSelector": "e30c3978",
            "id": 3102,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "pendingOwner",
            "nameLocation": "12460:12:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3093,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 3091,
                  "name": "IWitPriceFeedsLegacyAdmin",
                  "nameLocations": [
                    "12503:25:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 29469,
                  "src": "12503:25:17"
                },
                {
                  "id": 3092,
                  "name": "Ownable2Step",
                  "nameLocations": [
                    "12530:12:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45709,
                  "src": "12530:12:17"
                }
              ],
              "src": "12493:50:17"
            },
            "parameters": {
              "id": 3090,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12472:2:17"
            },
            "returnParameters": {
              "id": 3096,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3095,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3102,
                  "src": "12583:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3094,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12583:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12582:9:17"
            },
            "scope": 3989,
            "src": "12451:199:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29468,
              45667
            ],
            "body": {
              "id": 3118,
              "nodeType": "Block",
              "src": "12817:55:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3115,
                        "name": "_newOwner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3104,
                        "src": "12854:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 3112,
                        "name": "Ownable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 415,
                        "src": "12828:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable_$415_$",
                          "typeString": "type(contract Ownable)"
                        }
                      },
                      "id": 3114,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12836:17:17",
                      "memberName": "transferOwnership",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 394,
                      "src": "12828:25:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 3116,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12828:36:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3117,
                  "nodeType": "ExpressionStatement",
                  "src": "12828:36:17"
                }
              ]
            },
            "functionSelector": "f2fde38b",
            "id": 3119,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3110,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3109,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "12802:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "12802:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "12802:9:17"
              }
            ],
            "name": "transferOwnership",
            "nameLocation": "12671:17:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3108,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 3106,
                  "name": "IWitPriceFeedsLegacyAdmin",
                  "nameLocations": [
                    "12735:25:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 29469,
                  "src": "12735:25:17"
                },
                {
                  "id": 3107,
                  "name": "Ownable2Step",
                  "nameLocations": [
                    "12762:12:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45709,
                  "src": "12762:12:17"
                }
              ],
              "src": "12725:50:17"
            },
            "parameters": {
              "id": 3105,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3104,
                  "mutability": "mutable",
                  "name": "_newOwner",
                  "nameLocation": "12697:9:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3119,
                  "src": "12689:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3103,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12689:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12688:19:17"
            },
            "returnParameters": {
              "id": 3111,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12817:0:17"
            },
            "scope": 3989,
            "src": "12662:210:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29402
            ],
            "body": {
              "id": 3151,
              "nodeType": "Block",
              "src": "12961:274:17",
              "statements": [
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 3131,
                        "nodeType": "Block",
                        "src": "13023:22:17",
                        "statements": []
                      },
                      "errorName": "",
                      "id": 3132,
                      "nodeType": "TryCatchClause",
                      "src": "13023:22:17"
                    },
                    {
                      "block": {
                        "id": 3140,
                        "nodeType": "Block",
                        "src": "13081:45:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 3137,
                                  "name": "_reason",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3134,
                                  "src": "13104:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 3136,
                                "name": "_revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26513,
                                "src": "13096:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) view"
                                }
                              },
                              "id": 3138,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13096:16:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3139,
                            "nodeType": "ExpressionStatement",
                            "src": "13096:16:17"
                          }
                        ]
                      },
                      "errorName": "Error",
                      "id": 3141,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3135,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3134,
                            "mutability": "mutable",
                            "name": "_reason",
                            "nameLocation": "13072:7:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3141,
                            "src": "13058:21:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 3133,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "13058:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "13057:23:17"
                      },
                      "src": "13046:80:17"
                    },
                    {
                      "block": {
                        "id": 3148,
                        "nodeType": "Block",
                        "src": "13148:80:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3145,
                                "name": "_revertWitPriceFeedsLegacyDataLibUnhandledException",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3792,
                                "src": "13163:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$__$",
                                  "typeString": "function () view"
                                }
                              },
                              "id": 3146,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13163:53:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3147,
                            "nodeType": "ExpressionStatement",
                            "src": "13163:53:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3149,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3144,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3143,
                            "mutability": "mutable",
                            "name": "",
                            "nameLocation": "-1:-1:-1",
                            "nodeType": "VariableDeclaration",
                            "scope": 3149,
                            "src": "13134:12:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 3142,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "13134:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "13133:14:17"
                      },
                      "src": "13127:101:17"
                    }
                  ],
                  "externalCall": {
                    "arguments": [
                      {
                        "id": 3129,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3121,
                        "src": "13014:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "expression": {
                        "id": 3127,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "12976:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3128,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13003:10:17",
                      "memberName": "deleteFeed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25495,
                      "src": "12976:37:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 3130,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12976:46:17",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3150,
                  "nodeType": "TryStatement",
                  "src": "12972:256:17"
                }
              ]
            },
            "functionSelector": "86ac03e0",
            "id": 3152,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3125,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3124,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "12951:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "12951:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "12951:9:17"
              }
            ],
            "name": "deleteFeed",
            "nameLocation": "12889:10:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3123,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "12933:8:17"
            },
            "parameters": {
              "id": 3122,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3121,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "12916:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3152,
                  "src": "12900:23:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3120,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12900:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12899:25:17"
            },
            "returnParameters": {
              "id": 3126,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12961:0:17"
            },
            "scope": 3989,
            "src": "12880:355:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29405
            ],
            "body": {
              "id": 3181,
              "nodeType": "Block",
              "src": "13302:268:17",
              "statements": [
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 3161,
                        "nodeType": "Block",
                        "src": "13358:22:17",
                        "statements": []
                      },
                      "errorName": "",
                      "id": 3162,
                      "nodeType": "TryCatchClause",
                      "src": "13358:22:17"
                    },
                    {
                      "block": {
                        "id": 3170,
                        "nodeType": "Block",
                        "src": "13416:45:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 3167,
                                  "name": "_reason",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3164,
                                  "src": "13439:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 3166,
                                "name": "_revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26513,
                                "src": "13431:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) view"
                                }
                              },
                              "id": 3168,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13431:16:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3169,
                            "nodeType": "ExpressionStatement",
                            "src": "13431:16:17"
                          }
                        ]
                      },
                      "errorName": "Error",
                      "id": 3171,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3165,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3164,
                            "mutability": "mutable",
                            "name": "_reason",
                            "nameLocation": "13407:7:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3171,
                            "src": "13393:21:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 3163,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "13393:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "13392:23:17"
                      },
                      "src": "13381:80:17"
                    },
                    {
                      "block": {
                        "id": 3178,
                        "nodeType": "Block",
                        "src": "13483:80:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3175,
                                "name": "_revertWitPriceFeedsLegacyDataLibUnhandledException",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3792,
                                "src": "13498:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$__$",
                                  "typeString": "function () view"
                                }
                              },
                              "id": 3176,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13498:53:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3177,
                            "nodeType": "ExpressionStatement",
                            "src": "13498:53:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3179,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3174,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3173,
                            "mutability": "mutable",
                            "name": "",
                            "nameLocation": "-1:-1:-1",
                            "nodeType": "VariableDeclaration",
                            "scope": 3179,
                            "src": "13469:12:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 3172,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "13469:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "13468:14:17"
                      },
                      "src": "13462:101:17"
                    }
                  ],
                  "externalCall": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 3158,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "13317:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3159,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13344:11:17",
                      "memberName": "deleteFeeds",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25557,
                      "src": "13317:38:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 3160,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13317:40:17",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3180,
                  "nodeType": "TryStatement",
                  "src": "13313:250:17"
                }
              ]
            },
            "functionSelector": "e1c9e3c0",
            "id": 3182,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3156,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3155,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "13292:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "13292:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "13292:9:17"
              }
            ],
            "name": "deleteFeeds",
            "nameLocation": "13252:11:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3154,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "13274:8:17"
            },
            "parameters": {
              "id": 3153,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13263:2:17"
            },
            "returnParameters": {
              "id": 3157,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13302:0:17"
            },
            "scope": 3989,
            "src": "13243:327:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29420
            ],
            "body": {
              "id": 3194,
              "nodeType": "Block",
              "src": "13723:75:17",
              "statements": [
                {
                  "expression": {
                    "id": 3192,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 3190,
                      "name": "__baseFeeOverheadPercentage",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2350,
                      "src": "13734:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint16",
                        "typeString": "uint16"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 3191,
                      "name": "_baseFeeOverheadPercentage",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3184,
                      "src": "13764:26:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint16",
                        "typeString": "uint16"
                      }
                    },
                    "src": "13734:56:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "id": 3193,
                  "nodeType": "ExpressionStatement",
                  "src": "13734:56:17"
                }
              ]
            },
            "functionSelector": "b8d38c96",
            "id": 3195,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3188,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3187,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "13707:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "13707:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "13707:9:17"
              }
            ],
            "name": "settleBaseFeeOverheadPercentage",
            "nameLocation": "13587:31:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3186,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "13671:8:17"
            },
            "parameters": {
              "id": 3185,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3184,
                  "mutability": "mutable",
                  "name": "_baseFeeOverheadPercentage",
                  "nameLocation": "13626:26:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3195,
                  "src": "13619:33:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 3183,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "13619:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13618:35:17"
            },
            "returnParameters": {
              "id": 3189,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13723:0:17"
            },
            "scope": 3989,
            "src": "13578:220:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29426
            ],
            "body": {
              "id": 3225,
              "nodeType": "Block",
              "src": "13918:259:17",
              "statements": [
                {
                  "expression": {
                    "id": 3209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3204,
                        "name": "__defaultQuerySLA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2348,
                        "src": "13929:17:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                          "typeString": "struct Witnet.QuerySLA storage ref"
                        }
                      },
                      "id": 3206,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13947:16:17",
                      "memberName": "witCommitteeSize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37370,
                      "src": "13929:34:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint16",
                        "typeString": "uint16"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3207,
                        "name": "radonSLAv2",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3198,
                        "src": "13966:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLAv2_$29146_calldata_ptr",
                          "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 calldata"
                        }
                      },
                      "id": 3208,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13977:12:17",
                      "memberName": "numWitnesses",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 29143,
                      "src": "13966:23:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "src": "13929:60:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "id": 3210,
                  "nodeType": "ExpressionStatement",
                  "src": "13929:60:17"
                },
                {
                  "expression": {
                    "id": 3216,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3211,
                        "name": "__defaultQuerySLA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2348,
                        "src": "14000:17:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                          "typeString": "struct Witnet.QuerySLA storage ref"
                        }
                      },
                      "id": 3213,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14018:16:17",
                      "memberName": "witUnitaryReward",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37372,
                      "src": "14000:34:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3214,
                        "name": "radonSLAv2",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3198,
                        "src": "14037:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLAv2_$29146_calldata_ptr",
                          "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 calldata"
                        }
                      },
                      "id": 3215,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14048:13:17",
                      "memberName": "unitaryReward",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 29145,
                      "src": "14037:24:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      }
                    },
                    "src": "14000:61:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "id": 3217,
                  "nodeType": "ExpressionStatement",
                  "src": "14000:61:17"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 3219,
                            "name": "__defaultQuerySLA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2348,
                            "src": "14095:17:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                              "typeString": "struct Witnet.QuerySLA storage ref"
                            }
                          },
                          "id": 3220,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14113:7:17",
                          "memberName": "isValid",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 38791,
                          "src": "14095:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_bool_$attached_to$_t_struct$_QuerySLA_$37373_memory_ptr_$",
                            "typeString": "function (struct Witnet.QuerySLA memory) pure returns (bool)"
                          }
                        },
                        "id": 3221,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14095:27:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "696e76616c69642075706461746520534c41",
                        "id": 3222,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14138:20:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_bbeba8ed6e85424b03fc1ed10998a497f7d98d6d5bb8684bf9ac6cc0d763a962",
                          "typeString": "literal_string \"invalid update SLA\""
                        },
                        "value": "invalid update SLA"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_bbeba8ed6e85424b03fc1ed10998a497f7d98d6d5bb8684bf9ac6cc0d763a962",
                          "typeString": "literal_string \"invalid update SLA\""
                        }
                      ],
                      "id": 3218,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "14072:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 3223,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14072:97:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3224,
                  "nodeType": "ExpressionStatement",
                  "src": "14072:97:17"
                }
              ]
            },
            "functionSelector": "fae91a51",
            "id": 3226,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3202,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3201,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "13903:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "13903:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "13903:9:17"
              }
            ],
            "name": "settleDefaultRadonSLA",
            "nameLocation": "13815:21:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3200,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "13878:8:17"
            },
            "parameters": {
              "id": 3199,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3198,
                  "mutability": "mutable",
                  "name": "radonSLAv2",
                  "nameLocation": "13857:10:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3226,
                  "src": "13837:30:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv2_$29146_calldata_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                  },
                  "typeName": {
                    "id": 3197,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3196,
                      "name": "RadonSLAv2",
                      "nameLocations": [
                        "13837:10:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29146,
                      "src": "13837:10:17"
                    },
                    "referencedDeclaration": 29146,
                    "src": "13837:10:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv2_$29146_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13836:32:17"
            },
            "returnParameters": {
              "id": 3203,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13918:0:17"
            },
            "scope": 3989,
            "src": "13806:371:17",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29433
            ],
            "body": {
              "id": 3276,
              "nodeType": "Block",
              "src": "14307:460:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$37720",
                          "typeString": "enum Witnet.RadonDataTypes"
                        },
                        "id": 3247,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 3243,
                                  "name": "radHash",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3230,
                                  "src": "14408:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "expression": {
                                    "id": 3240,
                                    "name": "Witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 40741,
                                    "src": "14386:6:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                      "typeString": "type(library Witnet)"
                                    }
                                  },
                                  "id": 3241,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "14393:9:17",
                                  "memberName": "RadonHash",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37153,
                                  "src": "14386:16:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                                    "typeString": "type(Witnet.RadonHash)"
                                  }
                                },
                                "id": 3242,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "14403:4:17",
                                "memberName": "wrap",
                                "nodeType": "MemberAccess",
                                "src": "14386:21:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                                  "typeString": "function (bytes32) pure returns (Witnet.RadonHash)"
                                }
                              },
                              "id": 3244,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "14386:30:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                "typeString": "Witnet.RadonHash"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                "typeString": "Witnet.RadonHash"
                              }
                            ],
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3237,
                                "name": "_registry",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2423,
                                "src": "14341:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IWitOracleRadonRegistry_$27394_$",
                                  "typeString": "function () view returns (contract IWitOracleRadonRegistry)"
                                }
                              },
                              "id": 3238,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "14341:11:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                                "typeString": "contract IWitOracleRadonRegistry"
                              }
                            },
                            "id": 3239,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14353:32:17",
                            "memberName": "lookupRadonRequestResultDataType",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 27223,
                            "src": "14341:44:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_enum$_RadonDataTypes_$37720_$",
                              "typeString": "function (Witnet.RadonHash) view external returns (enum Witnet.RadonDataTypes)"
                            }
                          },
                          "id": 3245,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "14341:76:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$37720",
                            "typeString": "enum Witnet.RadonDataTypes"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "id": 3246,
                          "name": "dataType",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 805,
                          "src": "14421:8:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$37720",
                            "typeString": "enum Witnet.RadonDataTypes"
                          }
                        },
                        "src": "14341:88:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "62616420726573756c7420646174612074797065",
                        "id": 3248,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14444:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5f3e5cb2ac21e51fd46355b9613e03f87fdc3fe2bb9def9b6bd5ef44fb70d03a",
                          "typeString": "literal_string \"bad result data type\""
                        },
                        "value": "bad result data type"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5f3e5cb2ac21e51fd46355b9613e03f87fdc3fe2bb9def9b6bd5ef44fb70d03a",
                          "typeString": "literal_string \"bad result data type\""
                        }
                      ],
                      "id": 3236,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "14318:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 3249,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14318:159:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3250,
                  "nodeType": "ExpressionStatement",
                  "src": "14318:159:17"
                },
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 3256,
                        "nodeType": "Block",
                        "src": "14555:14:17",
                        "statements": []
                      },
                      "errorName": "",
                      "id": 3257,
                      "nodeType": "TryCatchClause",
                      "src": "14555:14:17"
                    },
                    {
                      "block": {
                        "id": 3265,
                        "nodeType": "Block",
                        "src": "14605:53:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 3262,
                                  "name": "_reason",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3259,
                                  "src": "14628:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 3261,
                                "name": "_revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26513,
                                "src": "14620:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) view"
                                }
                              },
                              "id": 3263,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "14620:16:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3264,
                            "nodeType": "ExpressionStatement",
                            "src": "14620:16:17"
                          }
                        ]
                      },
                      "errorName": "Error",
                      "id": 3266,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3260,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3259,
                            "mutability": "mutable",
                            "name": "_reason",
                            "nameLocation": "14596:7:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3266,
                            "src": "14582:21:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 3258,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "14582:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "14581:23:17"
                      },
                      "src": "14570:88:17"
                    },
                    {
                      "block": {
                        "id": 3273,
                        "nodeType": "Block",
                        "src": "14680:80:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3270,
                                "name": "_revertWitPriceFeedsLegacyDataLibUnhandledException",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3792,
                                "src": "14695:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$__$",
                                  "typeString": "function () view"
                                }
                              },
                              "id": 3271,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "14695:53:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3272,
                            "nodeType": "ExpressionStatement",
                            "src": "14695:53:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3274,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3269,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3268,
                            "mutability": "mutable",
                            "name": "",
                            "nameLocation": "-1:-1:-1",
                            "nodeType": "VariableDeclaration",
                            "scope": 3274,
                            "src": "14666:12:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 3267,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "14666:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "14665:14:17"
                      },
                      "src": "14659:101:17"
                    }
                  ],
                  "externalCall": {
                    "arguments": [
                      {
                        "id": 3253,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3228,
                        "src": "14537:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "id": 3254,
                        "name": "radHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3230,
                        "src": "14546:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 3251,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "14492:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3252,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14519:17:17",
                      "memberName": "settleFeedRequest",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25955,
                      "src": "14492:44:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$",
                        "typeString": "function (string memory,bytes32)"
                      }
                    },
                    "id": 3255,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14492:62:17",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3275,
                  "nodeType": "TryStatement",
                  "src": "14488:272:17"
                }
              ]
            },
            "functionSelector": "84292f07",
            "id": 3277,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3234,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3233,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "14292:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "14292:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "14292:9:17"
              }
            ],
            "name": "settleFeedRequest",
            "nameLocation": "14198:17:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3232,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "14267:8:17"
            },
            "parameters": {
              "id": 3231,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3228,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "14232:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3277,
                  "src": "14216:23:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3227,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14216:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3230,
                  "mutability": "mutable",
                  "name": "radHash",
                  "nameLocation": "14249:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3277,
                  "src": "14241:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3229,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14241:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14215:42:17"
            },
            "returnParameters": {
              "id": 3235,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14307:0:17"
            },
            "scope": 3989,
            "src": "14189:578:17",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29441
            ],
            "body": {
              "id": 3299,
              "nodeType": "Block",
              "src": "14905:89:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3289,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3279,
                        "src": "14934:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "id": 3293,
                                "name": "request",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3282,
                                "src": "14967:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IWitOracleRequest_$28922",
                                  "typeString": "contract IWitOracleRequest"
                                }
                              },
                              "id": 3294,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "14975:7:17",
                              "memberName": "radHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28881,
                              "src": "14967:15:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$__$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                                "typeString": "function () view external returns (Witnet.RadonHash)"
                              }
                            },
                            "id": 3295,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "14967:17:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                              "typeString": "Witnet.RadonHash"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                              "typeString": "Witnet.RadonHash"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 3290,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "14943:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 3291,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14950:9:17",
                            "memberName": "RadonHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37153,
                            "src": "14943:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                              "typeString": "type(Witnet.RadonHash)"
                            }
                          },
                          "id": 3292,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "14960:6:17",
                          "memberName": "unwrap",
                          "nodeType": "MemberAccess",
                          "src": "14943:23:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_bytes32_$",
                            "typeString": "function (Witnet.RadonHash) pure returns (bytes32)"
                          }
                        },
                        "id": 3296,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14943:42:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 3288,
                      "name": "settleFeedRequest",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3277,
                      "src": "14916:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_calldata_ptr_$_t_bytes32_$returns$__$",
                        "typeString": "function (string calldata,bytes32)"
                      }
                    },
                    "id": 3297,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14916:70:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3298,
                  "nodeType": "ExpressionStatement",
                  "src": "14916:70:17"
                }
              ]
            },
            "functionSelector": "ac82c608",
            "id": 3300,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3286,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3285,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "14890:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "14890:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "14890:9:17"
              }
            ],
            "name": "settleFeedRequest",
            "nameLocation": "14784:17:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3284,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "14863:8:17"
            },
            "parameters": {
              "id": 3283,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3279,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "14818:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3300,
                  "src": "14802:23:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3278,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14802:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3282,
                  "mutability": "mutable",
                  "name": "request",
                  "nameLocation": "14845:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3300,
                  "src": "14827:25:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleRequest_$28922",
                    "typeString": "contract IWitOracleRequest"
                  },
                  "typeName": {
                    "id": 3281,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3280,
                      "name": "IWitOracleRequest",
                      "nameLocations": [
                        "14827:17:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28922,
                      "src": "14827:17:17"
                    },
                    "referencedDeclaration": 28922,
                    "src": "14827:17:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRequest_$28922",
                      "typeString": "contract IWitOracleRequest"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14801:52:17"
            },
            "returnParameters": {
              "id": 3287,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14905:0:17"
            },
            "scope": 3989,
            "src": "14775:219:17",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29453
            ],
            "body": {
              "id": 3327,
              "nodeType": "Block",
              "src": "15217:105:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3316,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3302,
                        "src": "15246:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 3322,
                                "name": "args",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3309,
                                "src": "15307:4:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr",
                                  "typeString": "string calldata[] calldata[] calldata"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr",
                                  "typeString": "string calldata[] calldata[] calldata"
                                }
                              ],
                              "expression": {
                                "id": 3320,
                                "name": "template",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3305,
                                "src": "15279:8:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IWitOracleRequestTemplate_$29115",
                                  "typeString": "contract IWitOracleRequestTemplate"
                                }
                              },
                              "id": 3321,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "15288:18:17",
                              "memberName": "verifyRadonRequest",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 29099,
                              "src": "15279:27:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                                "typeString": "function (string memory[] memory[] memory) external returns (Witnet.RadonHash)"
                              }
                            },
                            "id": 3323,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15279:33:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                              "typeString": "Witnet.RadonHash"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                              "typeString": "Witnet.RadonHash"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 3317,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "15255:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 3318,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "15262:9:17",
                            "memberName": "RadonHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37153,
                            "src": "15255:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                              "typeString": "type(Witnet.RadonHash)"
                            }
                          },
                          "id": 3319,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "15272:6:17",
                          "memberName": "unwrap",
                          "nodeType": "MemberAccess",
                          "src": "15255:23:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_bytes32_$",
                            "typeString": "function (Witnet.RadonHash) pure returns (bytes32)"
                          }
                        },
                        "id": 3324,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15255:58:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 3315,
                      "name": "settleFeedRequest",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3277,
                      "src": "15228:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_calldata_ptr_$_t_bytes32_$returns$__$",
                        "typeString": "function (string calldata,bytes32)"
                      }
                    },
                    "id": 3325,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15228:86:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3326,
                  "nodeType": "ExpressionStatement",
                  "src": "15228:86:17"
                }
              ]
            },
            "functionSelector": "ff24fb4f",
            "id": 3328,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3313,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3312,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "15202:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "15202:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "15202:9:17"
              }
            ],
            "name": "settleFeedRequest",
            "nameLocation": "15011:17:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3311,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "15175:8:17"
            },
            "parameters": {
              "id": 3310,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3302,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "15059:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3328,
                  "src": "15043:23:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3301,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15043:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3305,
                  "mutability": "mutable",
                  "name": "template",
                  "nameLocation": "15107:8:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3328,
                  "src": "15081:34:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleRequestTemplate_$29115",
                    "typeString": "contract IWitOracleRequestTemplate"
                  },
                  "typeName": {
                    "id": 3304,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3303,
                      "name": "IWitOracleRequestTemplate",
                      "nameLocations": [
                        "15081:25:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29115,
                      "src": "15081:25:17"
                    },
                    "referencedDeclaration": 29115,
                    "src": "15081:25:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRequestTemplate_$29115",
                      "typeString": "contract IWitOracleRequestTemplate"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3309,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "15150:4:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3328,
                  "src": "15130:24:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[][]"
                  },
                  "typeName": {
                    "baseType": {
                      "baseType": {
                        "id": 3306,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15130:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "id": 3307,
                      "nodeType": "ArrayTypeName",
                      "src": "15130:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                        "typeString": "string[]"
                      }
                    },
                    "id": 3308,
                    "nodeType": "ArrayTypeName",
                    "src": "15130:10:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_storage_$dyn_storage_$dyn_storage_ptr",
                      "typeString": "string[][]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15028:137:17"
            },
            "returnParameters": {
              "id": 3314,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15217:0:17"
            },
            "scope": 3989,
            "src": "15002:320:17",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29463
            ],
            "body": {
              "id": 3393,
              "nodeType": "Block",
              "src": "15522:523:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bytes6",
                          "typeString": "bytes6"
                        },
                        "id": 3353,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 3346,
                                  "name": "caption",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3330,
                                  "src": "15569:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_calldata_ptr",
                                    "typeString": "string calldata"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_calldata_ptr",
                                    "typeString": "string calldata"
                                  }
                                ],
                                "id": 3345,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "15563:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                  "typeString": "type(bytes storage pointer)"
                                },
                                "typeName": {
                                  "id": 3344,
                                  "name": "bytes",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "15563:5:17",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 3347,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15563:14:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_calldata_ptr",
                                "typeString": "bytes calldata"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_calldata_ptr",
                                "typeString": "bytes calldata"
                              }
                            ],
                            "id": 3343,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "15556:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes6_$",
                              "typeString": "type(bytes6)"
                            },
                            "typeName": {
                              "id": 3342,
                              "name": "bytes6",
                              "nodeType": "ElementaryTypeName",
                              "src": "15556:6:17",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 3348,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15556:22:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes6",
                            "typeString": "bytes6"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "id": 3351,
                              "name": "__prefix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 808,
                              "src": "15589:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 3350,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "15582:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes6_$",
                              "typeString": "type(bytes6)"
                            },
                            "typeName": {
                              "id": 3349,
                              "name": "bytes6",
                              "nodeType": "ElementaryTypeName",
                              "src": "15582:6:17",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 3352,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15582:16:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes6",
                            "typeString": "bytes6"
                          }
                        },
                        "src": "15556:42:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6261642063617074696f6e20707265666978",
                        "id": 3354,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15613:20:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e0097384f953fdfaf34ffe472fa602d81dfb47eaf30774c7befc32d9b30cecee",
                          "typeString": "literal_string \"bad caption prefix\""
                        },
                        "value": "bad caption prefix"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e0097384f953fdfaf34ffe472fa602d81dfb47eaf30774c7befc32d9b30cecee",
                          "typeString": "literal_string \"bad caption prefix\""
                        }
                      ],
                      "id": 3341,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "15533:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 3355,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15533:111:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3356,
                  "nodeType": "ExpressionStatement",
                  "src": "15533:111:17"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3363,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 3358,
                          "name": "solver",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3332,
                          "src": "15678:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 3361,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15696:1:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 3360,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "15688:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 3359,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "15688:7:17",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 3362,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15688:10:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "15678:20:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6e6f20736f6c7665722061646472657373",
                        "id": 3364,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15713:19:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d8d9236811b9064294882a9639ca34b6848dee4eca69ada62d97d2bf808ba650",
                          "typeString": "literal_string \"no solver address\""
                        },
                        "value": "no solver address"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d8d9236811b9064294882a9639ca34b6848dee4eca69ada62d97d2bf808ba650",
                          "typeString": "literal_string \"no solver address\""
                        }
                      ],
                      "id": 3357,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "15655:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 3365,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15655:88:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3366,
                  "nodeType": "ExpressionStatement",
                  "src": "15655:88:17"
                },
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 3373,
                        "nodeType": "Block",
                        "src": "15825:22:17",
                        "statements": []
                      },
                      "errorName": "",
                      "id": 3374,
                      "nodeType": "TryCatchClause",
                      "src": "15825:22:17"
                    },
                    {
                      "block": {
                        "id": 3382,
                        "nodeType": "Block",
                        "src": "15883:53:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 3379,
                                  "name": "_reason",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3376,
                                  "src": "15906:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 3378,
                                "name": "_revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26513,
                                "src": "15898:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) view"
                                }
                              },
                              "id": 3380,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15898:16:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3381,
                            "nodeType": "ExpressionStatement",
                            "src": "15898:16:17"
                          }
                        ]
                      },
                      "errorName": "Error",
                      "id": 3383,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3377,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3376,
                            "mutability": "mutable",
                            "name": "_reason",
                            "nameLocation": "15874:7:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3383,
                            "src": "15860:21:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 3375,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "15860:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "15859:23:17"
                      },
                      "src": "15848:88:17"
                    },
                    {
                      "block": {
                        "id": 3390,
                        "nodeType": "Block",
                        "src": "15958:80:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3387,
                                "name": "_revertWitPriceFeedsLegacyDataLibUnhandledException",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3792,
                                "src": "15973:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$__$",
                                  "typeString": "function () view"
                                }
                              },
                              "id": 3388,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15973:53:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3389,
                            "nodeType": "ExpressionStatement",
                            "src": "15973:53:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3391,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3386,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3385,
                            "mutability": "mutable",
                            "name": "",
                            "nameLocation": "-1:-1:-1",
                            "nodeType": "VariableDeclaration",
                            "scope": 3391,
                            "src": "15944:12:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 3384,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "15944:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "15943:14:17"
                      },
                      "src": "15937:101:17"
                    }
                  ],
                  "externalCall": {
                    "arguments": [
                      {
                        "id": 3369,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3330,
                        "src": "15802:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "id": 3370,
                        "name": "solver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3332,
                        "src": "15811:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 3371,
                        "name": "deps",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3335,
                        "src": "15819:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "string calldata[] calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "string calldata[] calldata"
                        }
                      ],
                      "expression": {
                        "id": 3367,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "15758:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3368,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15785:16:17",
                      "memberName": "settleFeedSolver",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26135,
                      "src": "15758:43:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_string_memory_ptr_$_t_address_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (string memory,address,string memory[] memory)"
                      }
                    },
                    "id": 3372,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15758:66:17",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3392,
                  "nodeType": "TryStatement",
                  "src": "15754:284:17"
                }
              ]
            },
            "functionSelector": "03f3813d",
            "id": 3394,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3339,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3338,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "15507:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "15507:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "15507:9:17"
              }
            ],
            "name": "settleFeedSolver",
            "nameLocation": "15339:16:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3337,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "15480:8:17"
            },
            "parameters": {
              "id": 3336,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3330,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "15386:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3394,
                  "src": "15370:23:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3329,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15370:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3332,
                  "mutability": "mutable",
                  "name": "solver",
                  "nameLocation": "15416:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3394,
                  "src": "15408:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3331,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "15408:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3335,
                  "mutability": "mutable",
                  "name": "deps",
                  "nameLocation": "15455:4:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3394,
                  "src": "15437:22:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3333,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "15437:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 3334,
                    "nodeType": "ArrayTypeName",
                    "src": "15437:8:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15355:115:17"
            },
            "returnParameters": {
              "id": 3340,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15522:0:17"
            },
            "scope": 3989,
            "src": "15330:715:17",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29271
            ],
            "body": {
              "id": 3408,
              "nodeType": "Block",
              "src": "16408:80:17",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 3404,
                          "name": "feedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3396,
                          "src": "16464:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        ],
                        "expression": {
                          "id": 3402,
                          "name": "WitPriceFeedsLegacyDataLib",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26464,
                          "src": "16426:26:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                            "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                          }
                        },
                        "id": 3403,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "16453:10:17",
                        "memberName": "seekRecord",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25352,
                        "src": "16426:37:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                          "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                        }
                      },
                      "id": 3405,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16426:45:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                      }
                    },
                    "id": 3406,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "16472:8:17",
                    "memberName": "decimals",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 25156,
                    "src": "16426:54:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 3401,
                  "id": 3407,
                  "nodeType": "Return",
                  "src": "16419:61:17"
                }
              ]
            },
            "functionSelector": "6ab221f8",
            "id": 3409,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupDecimals",
            "nameLocation": "16305:14:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3398,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "16345:8:17"
            },
            "parameters": {
              "id": 3397,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3396,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "16327:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3409,
                  "src": "16320:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 3395,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "16320:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16319:15:17"
            },
            "returnParameters": {
              "id": 3401,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3400,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3409,
                  "src": "16396:5:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 3399,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "16396:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16395:7:17"
            },
            "scope": 3989,
            "src": "16296:192:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29281
            ],
            "body": {
              "id": 3425,
              "nodeType": "Block",
              "src": "16659:76:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3422,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3411,
                        "src": "16720:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "expression": {
                        "id": 3420,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "16677:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3421,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16704:15:17",
                      "memberName": "seekPriceSolver",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25412,
                      "src": "16677:42:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_address_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (bytes4) view returns (address,string memory[] memory)"
                      }
                    },
                    "id": 3423,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16677:50:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_address_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
                      "typeString": "tuple(address,string memory[] memory)"
                    }
                  },
                  "functionReturnParameters": 3419,
                  "id": 3424,
                  "nodeType": "Return",
                  "src": "16670:57:17"
                }
              ]
            },
            "functionSelector": "384ac938",
            "id": 3426,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupPriceSolver",
            "nameLocation": "16509:17:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3413,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "16551:8:17"
            },
            "parameters": {
              "id": 3412,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3411,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "16534:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3426,
                  "src": "16527:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 3410,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "16527:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16526:15:17"
            },
            "returnParameters": {
              "id": 3419,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3415,
                  "mutability": "mutable",
                  "name": "_solverAddress",
                  "nameLocation": "16609:14:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3426,
                  "src": "16601:22:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3414,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "16601:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3418,
                  "mutability": "mutable",
                  "name": "_solverDeps",
                  "nameLocation": "16641:11:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3426,
                  "src": "16625:27:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3416,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "16625:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 3417,
                    "nodeType": "ArrayTypeName",
                    "src": "16625:8:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16600:53:17"
            },
            "scope": 3989,
            "src": "16500:235:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29205
            ],
            "body": {
              "id": 3468,
              "nodeType": "Block",
              "src": "16890:449:17",
              "statements": [
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 3448,
                        "nodeType": "Block",
                        "src": "17085:56:17",
                        "statements": [
                          {
                            "expression": {
                              "id": 3446,
                              "name": "_latestPrice",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3444,
                              "src": "17107:12:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                                "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                              }
                            },
                            "functionReturnParameters": 3434,
                            "id": 3447,
                            "nodeType": "Return",
                            "src": "17100:19:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3449,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3445,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3444,
                            "mutability": "mutable",
                            "name": "_latestPrice",
                            "nameLocation": "17071:12:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3449,
                            "src": "17031:52:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                              "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                            },
                            "typeName": {
                              "id": 3443,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 3442,
                                "name": "IWitPriceFeedsLegacySolver.Price",
                                "nameLocations": [
                                  "17031:26:17",
                                  "17058:5:17"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 29489,
                                "src": "17031:32:17"
                              },
                              "referencedDeclaration": 29489,
                              "src": "17031:32:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                                "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "17030:54:17"
                      },
                      "src": "17022:119:17"
                    },
                    {
                      "block": {
                        "id": 3457,
                        "nodeType": "Block",
                        "src": "17177:53:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 3454,
                                  "name": "_reason",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3451,
                                  "src": "17200:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 3453,
                                "name": "_revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26513,
                                "src": "17192:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) view"
                                }
                              },
                              "id": 3455,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17192:16:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3456,
                            "nodeType": "ExpressionStatement",
                            "src": "17192:16:17"
                          }
                        ]
                      },
                      "errorName": "Error",
                      "id": 3458,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3452,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3451,
                            "mutability": "mutable",
                            "name": "_reason",
                            "nameLocation": "17168:7:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3458,
                            "src": "17154:21:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 3450,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "17154:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "17153:23:17"
                      },
                      "src": "17142:88:17"
                    },
                    {
                      "block": {
                        "id": 3465,
                        "nodeType": "Block",
                        "src": "17252:80:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3462,
                                "name": "_revertWitPriceFeedsLegacyDataLibUnhandledException",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3792,
                                "src": "17267:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$__$",
                                  "typeString": "function () view"
                                }
                              },
                              "id": 3463,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17267:53:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3464,
                            "nodeType": "ExpressionStatement",
                            "src": "17267:53:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3466,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3461,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3460,
                            "mutability": "mutable",
                            "name": "",
                            "nameLocation": "-1:-1:-1",
                            "nodeType": "VariableDeclaration",
                            "scope": 3466,
                            "src": "17238:12:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 3459,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "17238:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "17237:14:17"
                      },
                      "src": "17231:101:17"
                    }
                  ],
                  "externalCall": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 3438,
                            "name": "witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2342,
                            "src": "16978:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 3437,
                          "name": "IWitOracleQueriable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26795,
                          "src": "16958:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                            "typeString": "type(contract IWitOracleQueriable)"
                          }
                        },
                        "id": 3439,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16958:30:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        }
                      },
                      {
                        "id": 3440,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3428,
                        "src": "17004:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        },
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "expression": {
                        "id": 3435,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "16905:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3436,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16932:11:17",
                      "memberName": "latestPrice",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25691,
                      "src": "16905:38:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_view$_t_contract$_IWitOracleQueriable_$26795_$_t_bytes4_$returns$_t_struct$_Price_$29489_memory_ptr_$",
                        "typeString": "function (contract IWitOracleQueriable,bytes4) view returns (struct IWitPriceFeedsLegacySolver.Price memory)"
                      }
                    },
                    "id": 3441,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16905:116:17",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                    }
                  },
                  "id": 3467,
                  "nodeType": "TryStatement",
                  "src": "16901:431:17"
                }
              ]
            },
            "functionSelector": "c3d98ea8",
            "id": 3469,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestPrice",
            "nameLocation": "16752:11:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3430,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "16796:8:17"
            },
            "parameters": {
              "id": 3429,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3428,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "16771:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3469,
                  "src": "16764:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 3427,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "16764:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16763:15:17"
            },
            "returnParameters": {
              "id": 3434,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3433,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3469,
                  "src": "16844:39:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                  },
                  "typeName": {
                    "id": 3432,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3431,
                      "name": "IWitPriceFeedsLegacySolver.Price",
                      "nameLocations": [
                        "16844:26:17",
                        "16871:5:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29489,
                      "src": "16844:32:17"
                    },
                    "referencedDeclaration": 29489,
                    "src": "16844:32:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16843:41:17"
            },
            "scope": 3989,
            "src": "16743:596:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              29215
            ],
            "body": {
              "id": 3513,
              "nodeType": "Block",
              "src": "17519:209:17",
              "statements": [
                {
                  "expression": {
                    "id": 3488,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 3480,
                      "name": "_prices",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3478,
                      "src": "17530:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct IWitPriceFeedsLegacySolver.Price memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 3485,
                            "name": "feedIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3472,
                            "src": "17579:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                              "typeString": "bytes4[] calldata"
                            }
                          },
                          "id": 3486,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17587:6:17",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "17579:14:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 3484,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "17540:38:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (struct IWitPriceFeedsLegacySolver.Price memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 3482,
                            "nodeType": "UserDefinedTypeName",
                            "pathNode": {
                              "id": 3481,
                              "name": "IWitPriceFeedsLegacySolver.Price",
                              "nameLocations": [
                                "17544:26:17",
                                "17571:5:17"
                              ],
                              "nodeType": "IdentifierPath",
                              "referencedDeclaration": 29489,
                              "src": "17544:32:17"
                            },
                            "referencedDeclaration": 29489,
                            "src": "17544:32:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                              "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                            }
                          },
                          "id": 3483,
                          "nodeType": "ArrayTypeName",
                          "src": "17544:34:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Price_$29489_storage_$dyn_storage_ptr",
                            "typeString": "struct IWitPriceFeedsLegacySolver.Price[]"
                          }
                        }
                      },
                      "id": 3487,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17540:54:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct IWitPriceFeedsLegacySolver.Price memory[] memory"
                      }
                    },
                    "src": "17530:64:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price memory[] memory"
                    }
                  },
                  "id": 3489,
                  "nodeType": "ExpressionStatement",
                  "src": "17530:64:17"
                },
                {
                  "body": {
                    "id": 3511,
                    "nodeType": "Block",
                    "src": "17654:67:17",
                    "statements": [
                      {
                        "expression": {
                          "id": 3509,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 3501,
                              "name": "_prices",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3478,
                              "src": "17669:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct IWitPriceFeedsLegacySolver.Price memory[] memory"
                              }
                            },
                            "id": 3503,
                            "indexExpression": {
                              "id": 3502,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3491,
                              "src": "17677:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "17669:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                              "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 3505,
                                  "name": "feedIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3472,
                                  "src": "17696:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                                    "typeString": "bytes4[] calldata"
                                  }
                                },
                                "id": 3507,
                                "indexExpression": {
                                  "id": 3506,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3491,
                                  "src": "17704:3:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "17696:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 3504,
                              "name": "latestPrice",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3469,
                              "src": "17684:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Price_$29489_memory_ptr_$",
                                "typeString": "function (bytes4) view returns (struct IWitPriceFeedsLegacySolver.Price memory)"
                              }
                            },
                            "id": 3508,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17684:25:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                              "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                            }
                          },
                          "src": "17669:40:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                            "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                          }
                        },
                        "id": 3510,
                        "nodeType": "ExpressionStatement",
                        "src": "17669:40:17"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3497,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 3494,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3491,
                      "src": "17624:3:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 3495,
                        "name": "feedIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3472,
                        "src": "17630:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                          "typeString": "bytes4[] calldata"
                        }
                      },
                      "id": 3496,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17638:6:17",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "17630:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17624:20:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3512,
                  "initializationExpression": {
                    "assignments": [
                      3491
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 3491,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "17615:3:17",
                        "nodeType": "VariableDeclaration",
                        "scope": 3512,
                        "src": "17610:8:17",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 3490,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "17610:4:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 3493,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 3492,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "17621:1:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "17610:12:17"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 3499,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "17646:6:17",
                      "subExpression": {
                        "id": 3498,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3491,
                        "src": "17646:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3500,
                    "nodeType": "ExpressionStatement",
                    "src": "17646:6:17"
                  },
                  "nodeType": "ForStatement",
                  "src": "17605:116:17"
                }
              ]
            },
            "functionSelector": "f9f34bb6",
            "id": 3514,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestPrices",
            "nameLocation": "17356:12:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3474,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "17413:8:17"
            },
            "parameters": {
              "id": 3473,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3472,
                  "mutability": "mutable",
                  "name": "feedIds",
                  "nameLocation": "17387:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3514,
                  "src": "17369:25:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3470,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "17369:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 3471,
                    "nodeType": "ArrayTypeName",
                    "src": "17369:8:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "17368:27:17"
            },
            "returnParameters": {
              "id": 3479,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3478,
                  "mutability": "mutable",
                  "name": "_prices",
                  "nameLocation": "17505:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3514,
                  "src": "17463:49:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacySolver.Price[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3476,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 3475,
                        "name": "IWitPriceFeedsLegacySolver.Price",
                        "nameLocations": [
                          "17463:26:17",
                          "17490:5:17"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 29489,
                        "src": "17463:32:17"
                      },
                      "referencedDeclaration": 29489,
                      "src": "17463:32:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                        "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                      }
                    },
                    "id": 3477,
                    "nodeType": "ArrayTypeName",
                    "src": "17463:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Price_$29489_storage_$dyn_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "17462:51:17"
            },
            "scope": 3989,
            "src": "17347:381:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29540
            ],
            "body": {
              "id": 3563,
              "nodeType": "Block",
              "src": "18162:571:17",
              "statements": [
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 3543,
                        "nodeType": "Block",
                        "src": "18339:204:17",
                        "statements": [
                          {
                            "eventCall": {
                              "arguments": [
                                {
                                  "id": 3535,
                                  "name": "_solver",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3532,
                                  "src": "18397:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "expression": {
                                    "id": 3536,
                                    "name": "_solver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3532,
                                    "src": "18424:7:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "id": 3537,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "18432:8:17",
                                  "memberName": "codehash",
                                  "nodeType": "MemberAccess",
                                  "src": "18424:16:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "id": 3538,
                                  "name": "constructorParams",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3518,
                                  "src": "18460:17:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_calldata_ptr",
                                    "typeString": "bytes calldata"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes_calldata_ptr",
                                    "typeString": "bytes calldata"
                                  }
                                ],
                                "id": 3534,
                                "name": "NewPriceFeedsSolver",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 29531,
                                "src": "18359:19:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$",
                                  "typeString": "function (address,bytes32,bytes memory)"
                                }
                              },
                              "id": 3539,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "18359:133:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3540,
                            "nodeType": "EmitStatement",
                            "src": "18354:138:17"
                          },
                          {
                            "expression": {
                              "id": 3541,
                              "name": "_solver",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3532,
                              "src": "18514:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "functionReturnParameters": 3525,
                            "id": 3542,
                            "nodeType": "Return",
                            "src": "18507:14:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3544,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3533,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3532,
                            "mutability": "mutable",
                            "name": "_solver",
                            "nameLocation": "18320:7:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3544,
                            "src": "18312:15:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 3531,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "18312:7:17",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "18297:41:17"
                      },
                      "src": "18289:254:17"
                    },
                    {
                      "block": {
                        "id": 3552,
                        "nodeType": "Block",
                        "src": "18579:45:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 3549,
                                  "name": "_reason",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3546,
                                  "src": "18602:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 3548,
                                "name": "_revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26513,
                                "src": "18594:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) view"
                                }
                              },
                              "id": 3550,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "18594:16:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3551,
                            "nodeType": "ExpressionStatement",
                            "src": "18594:16:17"
                          }
                        ]
                      },
                      "errorName": "Error",
                      "id": 3553,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3547,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3546,
                            "mutability": "mutable",
                            "name": "_reason",
                            "nameLocation": "18570:7:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3553,
                            "src": "18556:21:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 3545,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "18556:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "18555:23:17"
                      },
                      "src": "18544:80:17"
                    },
                    {
                      "block": {
                        "id": 3560,
                        "nodeType": "Block",
                        "src": "18646:80:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3557,
                                "name": "_revertWitPriceFeedsLegacyDataLibUnhandledException",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3792,
                                "src": "18661:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$__$",
                                  "typeString": "function () view"
                                }
                              },
                              "id": 3558,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "18661:53:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3559,
                            "nodeType": "ExpressionStatement",
                            "src": "18661:53:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3561,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3556,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3555,
                            "mutability": "mutable",
                            "name": "",
                            "nameLocation": "-1:-1:-1",
                            "nodeType": "VariableDeclaration",
                            "scope": 3561,
                            "src": "18632:12:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 3554,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "18632:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "18631:14:17"
                      },
                      "src": "18625:101:17"
                    }
                  ],
                  "externalCall": {
                    "arguments": [
                      {
                        "id": 3528,
                        "name": "initcode",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3516,
                        "src": "18236:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      },
                      {
                        "id": 3529,
                        "name": "constructorParams",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3518,
                        "src": "18260:17:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      ],
                      "expression": {
                        "id": 3526,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "18177:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3527,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "18204:17:17",
                      "memberName": "deployPriceSolver",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26281,
                      "src": "18177:44:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$",
                        "typeString": "function (bytes memory,bytes memory) returns (address)"
                      }
                    },
                    "id": 3530,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18177:111:17",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 3562,
                  "nodeType": "TryStatement",
                  "src": "18173:553:17"
                }
              ]
            },
            "functionSelector": "a55b471c",
            "id": 3564,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 3522,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 3521,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "18120:9:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "18120:9:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "18120:9:17"
              }
            ],
            "name": "deployPriceSolver",
            "nameLocation": "17999:17:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3520,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "18093:8:17"
            },
            "parameters": {
              "id": 3519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3516,
                  "mutability": "mutable",
                  "name": "initcode",
                  "nameLocation": "18032:8:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3564,
                  "src": "18017:23:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 3515,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "18017:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3518,
                  "mutability": "mutable",
                  "name": "constructorParams",
                  "nameLocation": "18057:17:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3564,
                  "src": "18042:32:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 3517,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "18042:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18016:59:17"
            },
            "returnParameters": {
              "id": 3525,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3524,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3564,
                  "src": "18148:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3523,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "18148:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18147:9:17"
            },
            "scope": 3989,
            "src": "17990:743:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              29549
            ],
            "body": {
              "id": 3580,
              "nodeType": "Block",
              "src": "18916:109:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3576,
                        "name": "initcode",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3566,
                        "src": "18989:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      },
                      {
                        "id": 3577,
                        "name": "constructorParams",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3568,
                        "src": "18999:17:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      ],
                      "expression": {
                        "id": 3574,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "18934:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3575,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "18961:27:17",
                      "memberName": "determinePriceSolverAddress",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26324,
                      "src": "18934:54:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_view$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$",
                        "typeString": "function (bytes memory,bytes memory) view returns (address)"
                      }
                    },
                    "id": 3578,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18934:83:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 3573,
                  "id": 3579,
                  "nodeType": "Return",
                  "src": "18927:90:17"
                }
              ]
            },
            "functionSelector": "ff75890f",
            "id": 3581,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "determinePriceSolverAddress",
            "nameLocation": "18750:27:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3570,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "18854:8:17"
            },
            "parameters": {
              "id": 3569,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3566,
                  "mutability": "mutable",
                  "name": "initcode",
                  "nameLocation": "18793:8:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3581,
                  "src": "18778:23:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 3565,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "18778:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3568,
                  "mutability": "mutable",
                  "name": "constructorParams",
                  "nameLocation": "18818:17:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3581,
                  "src": "18803:32:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 3567,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "18803:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18777:59:17"
            },
            "returnParameters": {
              "id": 3573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3572,
                  "mutability": "mutable",
                  "name": "_address",
                  "nameLocation": "18901:8:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3581,
                  "src": "18893:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3571,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "18893:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18892:18:17"
            },
            "scope": 3989,
            "src": "18741:284:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              643
            ],
            "body": {
              "id": 3640,
              "nodeType": "Block",
              "src": "19441:548:17",
              "statements": [
                {
                  "assignments": [
                    3597
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3597,
                      "mutability": "mutable",
                      "name": "_latestPrice",
                      "nameLocation": "19492:12:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 3640,
                      "src": "19452:52:17",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                        "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                      },
                      "typeName": {
                        "id": 3596,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 3595,
                          "name": "IWitPriceFeedsLegacySolver.Price",
                          "nameLocations": [
                            "19452:26:17",
                            "19479:5:17"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 29489,
                          "src": "19452:32:17"
                        },
                        "referencedDeclaration": 29489,
                        "src": "19452:32:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                          "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3604,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 3601,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3583,
                            "src": "19526:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 3600,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "19519:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes4_$",
                            "typeString": "type(bytes4)"
                          },
                          "typeName": {
                            "id": 3599,
                            "name": "bytes4",
                            "nodeType": "ElementaryTypeName",
                            "src": "19519:6:17",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 3602,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19519:14:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 3598,
                      "name": "latestPrice",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3469,
                      "src": "19507:11:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Price_$29489_memory_ptr_$",
                        "typeString": "function (bytes4) view returns (struct IWitPriceFeedsLegacySolver.Price memory)"
                      }
                    },
                    "id": 3603,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19507:27:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "19452:82:17"
                },
                {
                  "expression": {
                    "components": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 3609,
                                  "name": "_latestPrice",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3597,
                                  "src": "19576:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                                    "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                                  }
                                },
                                "id": 3610,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "19589:5:17",
                                "memberName": "value",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 29479,
                                "src": "19576:18:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              ],
                              "id": 3608,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "19571:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": {
                                "id": 3607,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "19571:4:17",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 3611,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "19571:24:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 3606,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "19567:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_int256_$",
                            "typeString": "type(int256)"
                          },
                          "typeName": {
                            "id": 3605,
                            "name": "int",
                            "nodeType": "ElementaryTypeName",
                            "src": "19567:3:17",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 3612,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19567:29:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 3616,
                              "name": "_latestPrice",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3597,
                              "src": "19635:12:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                                "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                              }
                            },
                            "id": 3617,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "19648:9:17",
                            "memberName": "timestamp",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 29482,
                            "src": "19635:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                              "typeString": "Witnet.Timestamp"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                              "typeString": "Witnet.Timestamp"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 3613,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "19611:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 3614,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "19618:9:17",
                            "memberName": "Timestamp",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37157,
                            "src": "19611:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                              "typeString": "type(Witnet.Timestamp)"
                            }
                          },
                          "id": 3615,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "19628:6:17",
                          "memberName": "unwrap",
                          "nodeType": "MemberAccess",
                          "src": "19611:23:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_uint64_$",
                            "typeString": "function (Witnet.Timestamp) pure returns (uint64)"
                          }
                        },
                        "id": 3618,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19611:47:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "components": [
                          {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                              },
                              "id": 3624,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 3619,
                                  "name": "_latestPrice",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3597,
                                  "src": "19674:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                                    "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                                  }
                                },
                                "id": 3620,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "19687:12:17",
                                "memberName": "latestStatus",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 29488,
                                "src": "19674:25:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                  "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "expression": {
                                    "id": 3621,
                                    "name": "IWitPriceFeedsLegacySolver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 29521,
                                    "src": "19703:26:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                      "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                    }
                                  },
                                  "id": 3622,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "19730:18:17",
                                  "memberName": "LatestUpdateStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 29477,
                                  "src": "19703:45:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_LatestUpdateStatus_$29477_$",
                                    "typeString": "type(enum IWitPriceFeedsLegacySolver.LatestUpdateStatus)"
                                  }
                                },
                                "id": 3623,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "19749:5:17",
                                "memberName": "Ready",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 29475,
                                "src": "19703:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                  "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                                }
                              },
                              "src": "19674:80:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseExpression": {
                              "components": [
                                {
                                  "condition": {
                                    "commonType": {
                                      "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                      "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                                    },
                                    "id": 3631,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "expression": {
                                        "id": 3626,
                                        "name": "_latestPrice",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 3597,
                                        "src": "19798:12:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                                          "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                                        }
                                      },
                                      "id": 3627,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "19811:12:17",
                                      "memberName": "latestStatus",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 29488,
                                      "src": "19798:25:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                        "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "expression": {
                                        "expression": {
                                          "id": 3628,
                                          "name": "IWitPriceFeedsLegacySolver",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 29521,
                                          "src": "19827:26:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                            "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                          }
                                        },
                                        "id": 3629,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "19854:18:17",
                                        "memberName": "LatestUpdateStatus",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 29477,
                                        "src": "19827:45:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_LatestUpdateStatus_$29477_$",
                                          "typeString": "type(enum IWitPriceFeedsLegacySolver.LatestUpdateStatus)"
                                        }
                                      },
                                      "id": 3630,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "19873:8:17",
                                      "memberName": "Awaiting",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 29474,
                                      "src": "19827:54:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                        "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                                      }
                                    },
                                    "src": "19798:83:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "falseExpression": {
                                    "hexValue": "343030",
                                    "id": 3633,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "19933:3:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_400_by_1",
                                      "typeString": "int_const 400"
                                    },
                                    "value": "400"
                                  },
                                  "id": 3634,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "Conditional",
                                  "src": "19798:138:17",
                                  "trueExpression": {
                                    "hexValue": "343034",
                                    "id": 3632,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "19905:3:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_404_by_1",
                                      "typeString": "int_const 404"
                                    },
                                    "value": "404"
                                  },
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint16",
                                    "typeString": "uint16"
                                  }
                                }
                              ],
                              "id": 3635,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "19797:158:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint16",
                                "typeString": "uint16"
                              }
                            },
                            "id": 3636,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "Conditional",
                            "src": "19674:281:17",
                            "trueExpression": {
                              "hexValue": "323030",
                              "id": 3625,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "19774:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_200_by_1",
                                "typeString": "int_const 200"
                              },
                              "value": "200"
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          }
                        ],
                        "id": 3637,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "19673:297:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      }
                    ],
                    "id": 3638,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "19552:429:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_int256_$_t_uint64_$_t_uint16_$",
                      "typeString": "tuple(int256,uint64,uint16)"
                    }
                  },
                  "functionReturnParameters": 3592,
                  "id": 3639,
                  "nodeType": "Return",
                  "src": "19545:436:17"
                }
              ]
            },
            "functionSelector": "f78eea83",
            "id": 3641,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "valueFor",
            "nameLocation": "19292:8:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3585,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "19334:8:17"
            },
            "parameters": {
              "id": 3584,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3583,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "19309:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3641,
                  "src": "19301:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3582,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "19301:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19300:16:17"
            },
            "returnParameters": {
              "id": 3592,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3587,
                  "mutability": "mutable",
                  "name": "_value",
                  "nameLocation": "19391:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3641,
                  "src": "19384:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 3586,
                    "name": "int256",
                    "nodeType": "ElementaryTypeName",
                    "src": "19384:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3589,
                  "mutability": "mutable",
                  "name": "_timestamp",
                  "nameLocation": "19407:10:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3641,
                  "src": "19399:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3588,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "19399:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3591,
                  "mutability": "mutable",
                  "name": "_status",
                  "nameLocation": "19427:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3641,
                  "src": "19419:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3590,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "19419:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19383:52:17"
            },
            "scope": 3989,
            "src": "19283:706:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "body": {
              "id": 3691,
              "nodeType": "Block",
              "src": "20317:346:17",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 3657,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "arguments": [
                          {
                            "id": 3650,
                            "name": "_id4",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3643,
                            "src": "20370:4:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "expression": {
                            "id": 3648,
                            "name": "WitPriceFeedsLegacyDataLib",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26464,
                            "src": "20332:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                              "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                            }
                          },
                          "id": 3649,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "20359:10:17",
                          "memberName": "seekRecord",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25352,
                          "src": "20332:37:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                            "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                          }
                        },
                        "id": 3651,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "20332:43:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                        }
                      },
                      "id": 3652,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "20376:7:17",
                      "memberName": "radHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25164,
                      "src": "20332:51:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 3655,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "20395:1:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 3654,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "20387:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes32_$",
                          "typeString": "type(bytes32)"
                        },
                        "typeName": {
                          "id": 3653,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "20387:7:17",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 3656,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "20387:10:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "20332:65:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 3689,
                    "nodeType": "Block",
                    "src": "20527:129:17",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "id": 3679,
                                      "name": "_id4",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3643,
                                      "src": "20577:4:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    },
                                    {
                                      "expression": {
                                        "arguments": [
                                          {
                                            "id": 3682,
                                            "name": "_id4",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3643,
                                            "src": "20621:4:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          ],
                                          "expression": {
                                            "id": 3680,
                                            "name": "WitPriceFeedsLegacyDataLib",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 26464,
                                            "src": "20583:26:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                              "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                                            }
                                          },
                                          "id": 3681,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "20610:10:17",
                                          "memberName": "seekRecord",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 25352,
                                          "src": "20583:37:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                                            "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                                          }
                                        },
                                        "id": 3683,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20583:43:17",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                        }
                                      },
                                      "id": 3684,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "20627:14:17",
                                      "memberName": "solverDepsFlag",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 25170,
                                      "src": "20583:58:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      },
                                      {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    ],
                                    "expression": {
                                      "id": 3677,
                                      "name": "abi",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967295,
                                      "src": "20566:3:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_abi",
                                        "typeString": "abi"
                                      }
                                    },
                                    "id": 3678,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "20570:6:17",
                                    "memberName": "encode",
                                    "nodeType": "MemberAccess",
                                    "src": "20566:10:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                      "typeString": "function () pure returns (bytes memory)"
                                    }
                                  },
                                  "id": 3685,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "20566:76:17",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                ],
                                "id": 3676,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967288,
                                "src": "20556:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes memory) pure returns (bytes32)"
                                }
                              },
                              "id": 3686,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "20556:87:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 3675,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "20549:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes4_$",
                              "typeString": "type(bytes4)"
                            },
                            "typeName": {
                              "id": 3674,
                              "name": "bytes4",
                              "nodeType": "ElementaryTypeName",
                              "src": "20549:6:17",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 3687,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "20549:95:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "functionReturnParameters": 3647,
                        "id": 3688,
                        "nodeType": "Return",
                        "src": "20542:102:17"
                      }
                    ]
                  },
                  "id": 3690,
                  "nodeType": "IfStatement",
                  "src": "20328:328:17",
                  "trueBody": {
                    "id": 3673,
                    "nodeType": "Block",
                    "src": "20399:122:17",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "id": 3663,
                                      "name": "_id4",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3643,
                                      "src": "20449:4:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    },
                                    {
                                      "expression": {
                                        "arguments": [
                                          {
                                            "id": 3666,
                                            "name": "_id4",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3643,
                                            "src": "20493:4:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          ],
                                          "expression": {
                                            "id": 3664,
                                            "name": "WitPriceFeedsLegacyDataLib",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 26464,
                                            "src": "20455:26:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                              "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                                            }
                                          },
                                          "id": 3665,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "20482:10:17",
                                          "memberName": "seekRecord",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 25352,
                                          "src": "20455:37:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                                            "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                                          }
                                        },
                                        "id": 3667,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20455:43:17",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                        }
                                      },
                                      "id": 3668,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "20499:7:17",
                                      "memberName": "radHash",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 25164,
                                      "src": "20455:51:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      },
                                      {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    ],
                                    "expression": {
                                      "id": 3661,
                                      "name": "abi",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967295,
                                      "src": "20438:3:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_abi",
                                        "typeString": "abi"
                                      }
                                    },
                                    "id": 3662,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "20442:6:17",
                                    "memberName": "encode",
                                    "nodeType": "MemberAccess",
                                    "src": "20438:10:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                      "typeString": "function () pure returns (bytes memory)"
                                    }
                                  },
                                  "id": 3669,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "20438:69:17",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                ],
                                "id": 3660,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967288,
                                "src": "20428:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes memory) pure returns (bytes32)"
                                }
                              },
                              "id": 3670,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "20428:80:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 3659,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "20421:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes4_$",
                              "typeString": "type(bytes4)"
                            },
                            "typeName": {
                              "id": 3658,
                              "name": "bytes4",
                              "nodeType": "ElementaryTypeName",
                              "src": "20421:6:17",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 3671,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "20421:88:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "functionReturnParameters": 3647,
                        "id": 3672,
                        "nodeType": "Return",
                        "src": "20414:95:17"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 3692,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_footprintOf",
            "nameLocation": "20252:12:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3644,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3643,
                  "mutability": "mutable",
                  "name": "_id4",
                  "nameLocation": "20272:4:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "20265:11:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 3642,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "20265:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20264:13:17"
            },
            "returnParameters": {
              "id": 3647,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3646,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "20309:6:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 3645,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "20309:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20308:8:17"
            },
            "scope": 3989,
            "src": "20243:420:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3729,
              "nodeType": "Block",
              "src": "20792:527:17",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3711,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint16",
                        "typeString": "uint16"
                      },
                      "id": 3705,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 3701,
                          "name": "_updateSLA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3695,
                          "src": "20821:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                            "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 memory"
                          }
                        },
                        "id": 3702,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "20832:12:17",
                        "memberName": "numWitnesses",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 29143,
                        "src": "20821:23:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">=",
                      "rightExpression": {
                        "expression": {
                          "id": 3703,
                          "name": "__defaultQuerySLA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2348,
                          "src": "20848:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                            "typeString": "struct Witnet.QuerySLA storage ref"
                          }
                        },
                        "id": 3704,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "20866:16:17",
                        "memberName": "witCommitteeSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37370,
                        "src": "20848:34:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      },
                      "src": "20821:61:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      },
                      "id": 3710,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 3706,
                          "name": "_updateSLA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3695,
                          "src": "20903:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                            "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 memory"
                          }
                        },
                        "id": 3707,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "20914:13:17",
                        "memberName": "unitaryReward",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 29145,
                        "src": "20903:24:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">=",
                      "rightExpression": {
                        "expression": {
                          "id": 3708,
                          "name": "__defaultQuerySLA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2348,
                          "src": "20931:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                            "typeString": "struct Witnet.QuerySLA storage ref"
                          }
                        },
                        "id": 3709,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "20949:16:17",
                        "memberName": "witUnitaryReward",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37372,
                        "src": "20931:34:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      "src": "20903:62:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "20821:144:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 3727,
                    "nodeType": "Block",
                    "src": "21251:61:17",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "756e736563757265207570646174652072657175657374",
                              "id": 3724,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "21274:25:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_bf058ce639b5012bbba373b4469153bb3fd30184fba6dc11fd0c3081b107e660",
                                "typeString": "literal_string \"unsecure update request\""
                              },
                              "value": "unsecure update request"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_bf058ce639b5012bbba373b4469153bb3fd30184fba6dc11fd0c3081b107e660",
                                "typeString": "literal_string \"unsecure update request\""
                              }
                            ],
                            "id": 3723,
                            "name": "_revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26513,
                            "src": "21266:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) view"
                            }
                          },
                          "id": 3725,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "21266:34:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3726,
                        "nodeType": "ExpressionStatement",
                        "src": "21266:34:17"
                      }
                    ]
                  },
                  "id": 3728,
                  "nodeType": "IfStatement",
                  "src": "20803:509:17",
                  "trueBody": {
                    "id": 3722,
                    "nodeType": "Block",
                    "src": "20977:268:17",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "expression": {
                                "id": 3714,
                                "name": "_updateSLA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3695,
                                "src": "21052:10:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 memory"
                                }
                              },
                              "id": 3715,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "21063:12:17",
                              "memberName": "numWitnesses",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 29143,
                              "src": "21052:23:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            {
                              "expression": {
                                "id": 3716,
                                "name": "_updateSLA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3695,
                                "src": "21112:10:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 memory"
                                }
                              },
                              "id": 3717,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "21123:13:17",
                              "memberName": "unitaryReward",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 29145,
                              "src": "21112:24:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            {
                              "expression": {
                                "id": 3718,
                                "name": "__defaultQuerySLA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2348,
                                "src": "21173:17:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_QuerySLA_$37373_storage",
                                  "typeString": "struct Witnet.QuerySLA storage ref"
                                }
                              },
                              "id": 3719,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "21191:16:17",
                              "memberName": "witResultMaxSize",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37368,
                              "src": "21173:34:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint16",
                                "typeString": "uint16"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              },
                              {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              },
                              {
                                "typeIdentifier": "t_uint16",
                                "typeString": "uint16"
                              }
                            ],
                            "expression": {
                              "id": 3712,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "20999:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 3713,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "21006:8:17",
                            "memberName": "QuerySLA",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37373,
                            "src": "20999:15:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_QuerySLA_$37373_storage_ptr_$",
                              "typeString": "type(struct Witnet.QuerySLA storage pointer)"
                            }
                          },
                          "id": 3720,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "21034:16:17",
                            "21094:16:17",
                            "21155:16:17"
                          ],
                          "names": [
                            "witCommitteeSize",
                            "witUnitaryReward",
                            "witResultMaxSize"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "20999:224:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                            "typeString": "struct Witnet.QuerySLA memory"
                          }
                        },
                        "functionReturnParameters": 3700,
                        "id": 3721,
                        "nodeType": "Return",
                        "src": "20992:231:17"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 3730,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_intoQuerySLA",
            "nameLocation": "20680:13:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3696,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3695,
                  "mutability": "mutable",
                  "name": "_updateSLA",
                  "nameLocation": "20733:10:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3730,
                  "src": "20694:49:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                  },
                  "typeName": {
                    "id": 3694,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3693,
                      "name": "IWitPriceFeedsLegacy.RadonSLAv2",
                      "nameLocations": [
                        "20694:20:17",
                        "20715:10:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29146,
                      "src": "20694:31:17"
                    },
                    "referencedDeclaration": 29146,
                    "src": "20694:31:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv2_$29146_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20693:51:17"
            },
            "returnParameters": {
              "id": 3700,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3699,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3730,
                  "src": "20768:22:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                    "typeString": "struct Witnet.QuerySLA"
                  },
                  "typeName": {
                    "id": 3698,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3697,
                      "name": "Witnet.QuerySLA",
                      "nameLocations": [
                        "20768:6:17",
                        "20775:8:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37373,
                      "src": "20768:15:17"
                    },
                    "referencedDeclaration": 37373,
                    "src": "20768:15:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QuerySLA_$37373_storage_ptr",
                      "typeString": "struct Witnet.QuerySLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20767:24:17"
            },
            "scope": 3989,
            "src": "20671:648:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3782,
              "nodeType": "Block",
              "src": "21422:458:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bytes6",
                          "typeString": "bytes6"
                        },
                        "id": 3749,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 3742,
                                  "name": "caption",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3732,
                                  "src": "21469:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_calldata_ptr",
                                    "typeString": "string calldata"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_calldata_ptr",
                                    "typeString": "string calldata"
                                  }
                                ],
                                "id": 3741,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "21463:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                  "typeString": "type(bytes storage pointer)"
                                },
                                "typeName": {
                                  "id": 3740,
                                  "name": "bytes",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "21463:5:17",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 3743,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "21463:14:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_calldata_ptr",
                                "typeString": "bytes calldata"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_calldata_ptr",
                                "typeString": "bytes calldata"
                              }
                            ],
                            "id": 3739,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "21456:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes6_$",
                              "typeString": "type(bytes6)"
                            },
                            "typeName": {
                              "id": 3738,
                              "name": "bytes6",
                              "nodeType": "ElementaryTypeName",
                              "src": "21456:6:17",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 3744,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "21456:22:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes6",
                            "typeString": "bytes6"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "id": 3747,
                              "name": "__prefix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 808,
                              "src": "21489:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 3746,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "21482:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes6_$",
                              "typeString": "type(bytes6)"
                            },
                            "typeName": {
                              "id": 3745,
                              "name": "bytes6",
                              "nodeType": "ElementaryTypeName",
                              "src": "21482:6:17",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 3748,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "21482:16:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes6",
                            "typeString": "bytes6"
                          }
                        },
                        "src": "21456:42:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6261642063617074696f6e20707265666978",
                        "id": 3750,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "21513:20:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e0097384f953fdfaf34ffe472fa602d81dfb47eaf30774c7befc32d9b30cecee",
                          "typeString": "literal_string \"bad caption prefix\""
                        },
                        "value": "bad caption prefix"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e0097384f953fdfaf34ffe472fa602d81dfb47eaf30774c7befc32d9b30cecee",
                          "typeString": "literal_string \"bad caption prefix\""
                        }
                      ],
                      "id": 3737,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "21433:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 3751,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21433:111:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3752,
                  "nodeType": "ExpressionStatement",
                  "src": "21433:111:17"
                },
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 3762,
                        "nodeType": "Block",
                        "src": "21637:53:17",
                        "statements": [
                          {
                            "expression": {
                              "id": 3760,
                              "name": "_decimals",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3758,
                              "src": "21659:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            "functionReturnParameters": 3736,
                            "id": 3761,
                            "nodeType": "Return",
                            "src": "21652:16:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3763,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3759,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3758,
                            "mutability": "mutable",
                            "name": "_decimals",
                            "nameLocation": "21626:9:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3763,
                            "src": "21620:15:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            },
                            "typeName": {
                              "id": 3757,
                              "name": "uint8",
                              "nodeType": "ElementaryTypeName",
                              "src": "21620:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "21619:17:17"
                      },
                      "src": "21611:79:17"
                    },
                    {
                      "block": {
                        "id": 3771,
                        "nodeType": "Block",
                        "src": "21726:45:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 3768,
                                  "name": "_reason",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3765,
                                  "src": "21749:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 3767,
                                "name": "_revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26513,
                                "src": "21741:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) view"
                                }
                              },
                              "id": 3769,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "21741:16:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3770,
                            "nodeType": "ExpressionStatement",
                            "src": "21741:16:17"
                          }
                        ]
                      },
                      "errorName": "Error",
                      "id": 3772,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3766,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3765,
                            "mutability": "mutable",
                            "name": "_reason",
                            "nameLocation": "21717:7:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3772,
                            "src": "21703:21:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 3764,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "21703:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "21702:23:17"
                      },
                      "src": "21691:80:17"
                    },
                    {
                      "block": {
                        "id": 3779,
                        "nodeType": "Block",
                        "src": "21793:80:17",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3776,
                                "name": "_revertWitPriceFeedsLegacyDataLibUnhandledException",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3792,
                                "src": "21808:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$__$",
                                  "typeString": "function () view"
                                }
                              },
                              "id": 3777,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "21808:53:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3778,
                            "nodeType": "ExpressionStatement",
                            "src": "21808:53:17"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 3780,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 3775,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 3774,
                            "mutability": "mutable",
                            "name": "",
                            "nameLocation": "-1:-1:-1",
                            "nodeType": "VariableDeclaration",
                            "scope": 3780,
                            "src": "21779:12:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 3773,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "21779:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "21778:14:17"
                      },
                      "src": "21772:101:17"
                    }
                  ],
                  "externalCall": {
                    "arguments": [
                      {
                        "id": 3755,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3732,
                        "src": "21602:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "expression": {
                        "id": 3753,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "21559:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3754,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "21586:15:17",
                      "memberName": "validateCaption",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26417,
                      "src": "21559:42:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_pure$_t_string_memory_ptr_$returns$_t_uint8_$",
                        "typeString": "function (string memory) pure returns (uint8)"
                      }
                    },
                    "id": 3756,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21559:51:17",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "id": 3781,
                  "nodeType": "TryStatement",
                  "src": "21555:318:17"
                }
              ]
            },
            "id": 3783,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_validateCaption",
            "nameLocation": "21336:16:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3733,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3732,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "21369:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3783,
                  "src": "21353:23:17",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3731,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "21353:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21352:25:17"
            },
            "returnParameters": {
              "id": 3736,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3735,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3783,
                  "src": "21410:5:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 3734,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "21410:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21409:7:17"
            },
            "scope": 3989,
            "src": "21327:553:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3791,
              "nodeType": "Block",
              "src": "21965:87:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 3787,
                          "name": "_revertWitPriceFeedsLegacyDataLibUnhandledExceptionReason",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3810,
                          "src": "21984:57:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_string_memory_ptr_$",
                            "typeString": "function () pure returns (string memory)"
                          }
                        },
                        "id": 3788,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "21984:59:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3786,
                      "name": "_revert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26513,
                      "src": "21976:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory) view"
                      }
                    },
                    "id": 3789,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21976:68:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3790,
                  "nodeType": "ExpressionStatement",
                  "src": "21976:68:17"
                }
              ]
            },
            "id": 3792,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_revertWitPriceFeedsLegacyDataLibUnhandledException",
            "nameLocation": "21897:51:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3784,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "21948:2:17"
            },
            "returnParameters": {
              "id": 3785,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "21965:0:17"
            },
            "scope": 3989,
            "src": "21888:164:17",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3809,
              "nodeType": "Block",
              "src": "22167:151:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 3802,
                                  "name": "WitPriceFeedsLegacyDataLib",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 26464,
                                  "src": "22228:26:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                    "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                    "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                                  }
                                ],
                                "id": 3801,
                                "name": "type",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967269,
                                "src": "22223:4:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                                  "typeString": "function () pure"
                                }
                              },
                              "id": 3803,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "22223:32:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_meta_type_t_contract$_WitPriceFeedsLegacyDataLib_$26464",
                                "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                              }
                            },
                            "id": 3804,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "22256:4:17",
                            "memberName": "name",
                            "nodeType": "MemberAccess",
                            "src": "22223:37:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "hexValue": "3a20756e68616e646c656420617373657274696f6e",
                            "id": 3805,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "22275:23:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_f8fa18d02d3b000652ed8c67af593a68d22044c405602d1b221b59198f24cc7f",
                              "typeString": "literal_string \": unhandled assertion\""
                            },
                            "value": ": unhandled assertion"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_f8fa18d02d3b000652ed8c67af593a68d22044c405602d1b221b59198f24cc7f",
                              "typeString": "literal_string \": unhandled assertion\""
                            }
                          ],
                          "expression": {
                            "id": 3799,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967295,
                            "src": "22192:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 3800,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "22196:12:17",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "22192:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 3806,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "22192:117:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 3798,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "22185:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": {
                        "id": 3797,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "22185:6:17",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 3807,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22185:125:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 3796,
                  "id": 3808,
                  "nodeType": "Return",
                  "src": "22178:132:17"
                }
              ]
            },
            "id": 3810,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_revertWitPriceFeedsLegacyDataLibUnhandledExceptionReason",
            "nameLocation": "22069:57:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3793,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22126:2:17"
            },
            "returnParameters": {
              "id": 3796,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3795,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3810,
                  "src": "22152:13:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3794,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "22152:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22151:15:17"
            },
            "scope": 3989,
            "src": "22060:258:17",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3854,
              "nodeType": "Block",
              "src": "22490:332:17",
              "statements": [
                {
                  "assignments": [
                    3822
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3822,
                      "mutability": "mutable",
                      "name": "_evmUnitaryUpdateRequestFee",
                      "nameLocation": "22506:27:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 3854,
                      "src": "22501:32:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3821,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "22501:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3828,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3827,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 3823,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967281,
                        "src": "22536:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 3824,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22540:5:17",
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "src": "22536:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "expression": {
                        "id": 3825,
                        "name": "_deps",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3813,
                        "src": "22548:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                          "typeString": "bytes4[] memory"
                        }
                      },
                      "id": 3826,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22554:6:17",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "22548:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "22536:24:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "22501:59:17"
                },
                {
                  "body": {
                    "id": 3852,
                    "nodeType": "Block",
                    "src": "22618:197:17",
                    "statements": [
                      {
                        "expression": {
                          "id": 3850,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 3840,
                            "name": "_evmUsedFunds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3819,
                            "src": "22633:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 3845,
                                  "name": "_deps",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3813,
                                  "src": "22755:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                    "typeString": "bytes4[] memory"
                                  }
                                },
                                "id": 3847,
                                "indexExpression": {
                                  "id": 3846,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3830,
                                  "src": "22761:3:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "22755:10:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              {
                                "id": 3848,
                                "name": "sla",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3816,
                                "src": "22785:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                {
                                  "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  },
                                  {
                                    "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 memory"
                                  }
                                ],
                                "expression": {
                                  "id": 3841,
                                  "name": "this",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967268,
                                  "src": "22650:4:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_WitPriceFeedsLegacyUpgradable_$3989",
                                    "typeString": "contract WitPriceFeedsLegacyUpgradable"
                                  }
                                },
                                "id": 3842,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "22655:13:17",
                                "memberName": "requestUpdate",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 3043,
                                "src": "22650:18:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_payable$_t_bytes4_$_t_struct$_RadonSLAv2_$29146_memory_ptr_$returns$_t_uint256_$",
                                  "typeString": "function (bytes4,struct IWitPriceFeedsLegacy.RadonSLAv2 memory) payable external returns (uint256)"
                                }
                              },
                              "id": 3844,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "names": [
                                "value"
                              ],
                              "nodeType": "FunctionCallOptions",
                              "options": [
                                {
                                  "id": 3843,
                                  "name": "_evmUnitaryUpdateRequestFee",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3822,
                                  "src": "22694:27:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "src": "22650:86:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_payable$_t_bytes4_$_t_struct$_RadonSLAv2_$29146_memory_ptr_$returns$_t_uint256_$value",
                                "typeString": "function (bytes4,struct IWitPriceFeedsLegacy.RadonSLAv2 memory) payable external returns (uint256)"
                              }
                            },
                            "id": 3849,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "22650:153:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "22633:170:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3851,
                        "nodeType": "ExpressionStatement",
                        "src": "22633:170:17"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3836,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 3833,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3830,
                      "src": "22590:3:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 3834,
                        "name": "_deps",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3813,
                        "src": "22596:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                          "typeString": "bytes4[] memory"
                        }
                      },
                      "id": 3835,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22602:6:17",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "22596:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "22590:18:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3853,
                  "initializationExpression": {
                    "assignments": [
                      3830
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 3830,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "22581:3:17",
                        "nodeType": "VariableDeclaration",
                        "scope": 3853,
                        "src": "22576:8:17",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 3829,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "22576:4:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 3832,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 3831,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "22587:1:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "22576:12:17"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 3838,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "22610:6:17",
                      "subExpression": {
                        "id": 3837,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3830,
                        "src": "22610:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3839,
                    "nodeType": "ExpressionStatement",
                    "src": "22610:6:17"
                  },
                  "nodeType": "ForStatement",
                  "src": "22571:244:17"
                }
              ]
            },
            "id": 3855,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__requestUpdate",
            "nameLocation": "22335:15:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3817,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3813,
                  "mutability": "mutable",
                  "name": "_deps",
                  "nameLocation": "22367:5:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3855,
                  "src": "22351:21:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3811,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "22351:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 3812,
                    "nodeType": "ArrayTypeName",
                    "src": "22351:8:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3816,
                  "mutability": "mutable",
                  "name": "sla",
                  "nameLocation": "22413:3:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3855,
                  "src": "22374:42:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                  },
                  "typeName": {
                    "id": 3815,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3814,
                      "name": "IWitPriceFeedsLegacy.RadonSLAv2",
                      "nameLocations": [
                        "22374:20:17",
                        "22395:10:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29146,
                      "src": "22374:31:17"
                    },
                    "referencedDeclaration": 29146,
                    "src": "22374:31:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv2_$29146_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22350:67:17"
            },
            "returnParameters": {
              "id": 3820,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3819,
                  "mutability": "mutable",
                  "name": "_evmUsedFunds",
                  "nameLocation": "22470:13:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3855,
                  "src": "22462:21:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3818,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22462:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22461:23:17"
            },
            "scope": 3989,
            "src": "22326:496:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3976,
              "nodeType": "Block",
              "src": "22999:1575:17",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 3871,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "arguments": [
                          {
                            "id": 3867,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3857,
                            "src": "23052:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "expression": {
                            "id": 3865,
                            "name": "WitPriceFeedsLegacyDataLib",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26464,
                            "src": "23014:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                              "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                            }
                          },
                          "id": 3866,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "23041:10:17",
                          "memberName": "seekRecord",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25352,
                          "src": "23014:37:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                            "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                          }
                        },
                        "id": 3868,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "23014:45:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                        }
                      },
                      "id": 3869,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23060:7:17",
                      "memberName": "radHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25164,
                      "src": "23014:53:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 3870,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "23071:1:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "23014:58:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 3950,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "arguments": [
                            {
                              "id": 3943,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3857,
                              "src": "24152:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "id": 3941,
                              "name": "WitPriceFeedsLegacyDataLib",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26464,
                              "src": "24114:26:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                              }
                            },
                            "id": 3942,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "24141:10:17",
                            "memberName": "seekRecord",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25352,
                            "src": "24114:37:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                              "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                            }
                          },
                          "id": 3944,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "24114:45:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                            "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                          }
                        },
                        "id": 3945,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "24160:6:17",
                        "memberName": "solver",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25166,
                        "src": "24114:52:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 3948,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "24178:1:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            }
                          ],
                          "id": 3947,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "24170:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 3946,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "24170:7:17",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 3949,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "24170:10:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "24114:66:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 3973,
                      "nodeType": "Block",
                      "src": "24517:50:17",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "hexValue": "756e6b6e6f776e2066656564",
                                "id": 3970,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "24540:14:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_c94e87ddd6b6ec6ade1b6f4c2ab0b42f2565eebe130a7fb016f7716fc5871c5a",
                                  "typeString": "literal_string \"unknown feed\""
                                },
                                "value": "unknown feed"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_c94e87ddd6b6ec6ade1b6f4c2ab0b42f2565eebe130a7fb016f7716fc5871c5a",
                                  "typeString": "literal_string \"unknown feed\""
                                }
                              ],
                              "id": 3969,
                              "name": "_revert",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26513,
                              "src": "24532:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                "typeString": "function (string memory) view"
                              }
                            },
                            "id": 3971,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "24532:23:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 3972,
                          "nodeType": "ExpressionStatement",
                          "src": "24532:23:17"
                        }
                      ]
                    },
                    "id": 3974,
                    "nodeType": "IfStatement",
                    "src": "24110:457:17",
                    "trueBody": {
                      "id": 3968,
                      "nodeType": "Block",
                      "src": "24182:329:17",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "id": 3954,
                                    "name": "feedId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3857,
                                    "src": "24272:6:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  ],
                                  "expression": {
                                    "id": 3952,
                                    "name": "WitPriceFeedsLegacyDataLib",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 26464,
                                    "src": "24238:26:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                      "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                                    }
                                  },
                                  "id": 3953,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "24265:6:17",
                                  "memberName": "depsOf",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25236,
                                  "src": "24238:33:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_array$_t_bytes4_$dyn_memory_ptr_$",
                                    "typeString": "function (bytes4) view returns (bytes4[] memory)"
                                  }
                                },
                                "id": 3955,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "24238:41:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                  "typeString": "bytes4[] memory"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "id": 3960,
                                          "name": "querySLA",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 3860,
                                          "src": "24373:8:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                            "typeString": "struct Witnet.QuerySLA memory"
                                          }
                                        },
                                        "id": 3961,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "24382:16:17",
                                        "memberName": "witCommitteeSize",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37370,
                                        "src": "24373:25:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint16",
                                          "typeString": "uint16"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint16",
                                          "typeString": "uint16"
                                        }
                                      ],
                                      "id": 3959,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "24367:5:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 3958,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24367:5:17",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 3962,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "24367:32:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  {
                                    "expression": {
                                      "id": 3963,
                                      "name": "querySLA",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3860,
                                      "src": "24437:8:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                        "typeString": "struct Witnet.QuerySLA memory"
                                      }
                                    },
                                    "id": 3964,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "24446:16:17",
                                    "memberName": "witUnitaryReward",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37372,
                                    "src": "24437:25:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  ],
                                  "expression": {
                                    "id": 3956,
                                    "name": "IWitPriceFeedsLegacy",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 29361,
                                    "src": "24298:20:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacy_$29361_$",
                                      "typeString": "type(contract IWitPriceFeedsLegacy)"
                                    }
                                  },
                                  "id": 3957,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "24319:10:17",
                                  "memberName": "RadonSLAv2",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 29146,
                                  "src": "24298:31:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_struct$_RadonSLAv2_$29146_storage_ptr_$",
                                    "typeString": "type(struct IWitPriceFeedsLegacy.RadonSLAv2 storage pointer)"
                                  }
                                },
                                "id": 3965,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "structConstructorCall",
                                "lValueRequested": false,
                                "nameLocations": [
                                  "24353:12:17",
                                  "24422:13:17"
                                ],
                                "names": [
                                  "numWitnesses",
                                  "unitaryReward"
                                ],
                                "nodeType": "FunctionCall",
                                "src": "24298:184:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                  "typeString": "bytes4[] memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_RadonSLAv2_$29146_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2 memory"
                                }
                              ],
                              "id": 3951,
                              "name": "__requestUpdate",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                3855,
                                3977
                              ],
                              "referencedDeclaration": 3855,
                              "src": "24204:15:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes4_$dyn_memory_ptr_$_t_struct$_RadonSLAv2_$29146_memory_ptr_$returns$_t_uint256_$",
                                "typeString": "function (bytes4[] memory,struct IWitPriceFeedsLegacy.RadonSLAv2 memory) returns (uint256)"
                              }
                            },
                            "id": 3966,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "24204:293:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "functionReturnParameters": 3864,
                          "id": 3967,
                          "nodeType": "Return",
                          "src": "24197:300:17"
                        }
                      ]
                    }
                  },
                  "id": 3975,
                  "nodeType": "IfStatement",
                  "src": "23010:1557:17",
                  "trueBody": {
                    "id": 3940,
                    "nodeType": "Block",
                    "src": "23074:1030:17",
                    "statements": [
                      {
                        "assignments": [
                          3873
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 3873,
                            "mutability": "mutable",
                            "name": "_evmUpdateRequestFee",
                            "nameLocation": "23097:20:17",
                            "nodeType": "VariableDeclaration",
                            "scope": 3940,
                            "src": "23089:28:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 3872,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "23089:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 3876,
                        "initialValue": {
                          "expression": {
                            "id": 3874,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967281,
                            "src": "23120:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 3875,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "23124:5:17",
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "src": "23120:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "23089:40:17"
                      },
                      {
                        "clauses": [
                          {
                            "block": {
                              "id": 3920,
                              "nodeType": "Block",
                              "src": "23477:407:17",
                              "statements": [
                                {
                                  "condition": {
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 3894,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 3891,
                                      "name": "_evmUsedFunds",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3889,
                                      "src": "23500:13:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<",
                                    "rightExpression": {
                                      "expression": {
                                        "id": 3892,
                                        "name": "msg",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967281,
                                        "src": "23516:3:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_message",
                                          "typeString": "msg"
                                        }
                                      },
                                      "id": 3893,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "23520:5:17",
                                      "memberName": "value",
                                      "nodeType": "MemberAccess",
                                      "src": "23516:9:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "23500:25:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "id": 3908,
                                  "nodeType": "IfStatement",
                                  "src": "23496:181:17",
                                  "trueBody": {
                                    "id": 3907,
                                    "nodeType": "Block",
                                    "src": "23527:150:17",
                                    "statements": [
                                      {
                                        "expression": {
                                          "arguments": [
                                            {
                                              "commonType": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              },
                                              "id": 3904,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "leftExpression": {
                                                "expression": {
                                                  "id": 3901,
                                                  "name": "msg",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 4294967281,
                                                  "src": "23631:3:17",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_message",
                                                    "typeString": "msg"
                                                  }
                                                },
                                                "id": 3902,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "23635:5:17",
                                                "memberName": "value",
                                                "nodeType": "MemberAccess",
                                                "src": "23631:9:17",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              },
                                              "nodeType": "BinaryOperation",
                                              "operator": "-",
                                              "rightExpression": {
                                                "id": 3903,
                                                "name": "_evmUsedFunds",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3889,
                                                "src": "23643:13:17",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              },
                                              "src": "23631:25:17",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            ],
                                            "expression": {
                                              "arguments": [
                                                {
                                                  "expression": {
                                                    "id": 3897,
                                                    "name": "msg",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 4294967281,
                                                    "src": "23610:3:17",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_magic_message",
                                                      "typeString": "msg"
                                                    }
                                                  },
                                                  "id": 3898,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberLocation": "23614:6:17",
                                                  "memberName": "sender",
                                                  "nodeType": "MemberAccess",
                                                  "src": "23610:10:17",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                  }
                                                ],
                                                "id": 3896,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "ElementaryTypeNameExpression",
                                                "src": "23602:8:17",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_address_payable_$",
                                                  "typeString": "type(address payable)"
                                                },
                                                "typeName": {
                                                  "id": 3895,
                                                  "name": "address",
                                                  "nodeType": "ElementaryTypeName",
                                                  "src": "23602:8:17",
                                                  "stateMutability": "payable",
                                                  "typeDescriptions": {}
                                                }
                                              },
                                              "id": 3899,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "typeConversion",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "23602:19:17",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_address_payable",
                                                "typeString": "address payable"
                                              }
                                            },
                                            "id": 3900,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "23622:8:17",
                                            "memberName": "transfer",
                                            "nodeType": "MemberAccess",
                                            "src": "23602:28:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                                              "typeString": "function (uint256)"
                                            }
                                          },
                                          "id": 3905,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "23602:55:17",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                          }
                                        },
                                        "id": 3906,
                                        "nodeType": "ExpressionStatement",
                                        "src": "23602:55:17"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "eventCall": {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "id": 3910,
                                          "name": "tx",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967270,
                                          "src": "23767:2:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_transaction",
                                            "typeString": "tx"
                                          }
                                        },
                                        "id": 3911,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "23770:6:17",
                                        "memberName": "origin",
                                        "nodeType": "MemberAccess",
                                        "src": "23767:9:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "arguments": [],
                                        "expression": {
                                          "argumentTypes": [],
                                          "id": 3912,
                                          "name": "_msgSender",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 505,
                                          "src": "23778:10:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                                            "typeString": "function () view returns (address)"
                                          }
                                        },
                                        "id": 3913,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23778:12:17",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "id": 3914,
                                        "name": "feedId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 3857,
                                        "src": "23792:6:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      },
                                      {
                                        "id": 3915,
                                        "name": "_latestQueryId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 3887,
                                        "src": "23800:14:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 3909,
                                      "name": "PullingUpdate",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 29130,
                                      "src": "23753:13:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes4_$_t_uint256_$returns$__$",
                                        "typeString": "function (address,address,bytes4,uint256)"
                                      }
                                    },
                                    "id": 3916,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "23753:62:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 3917,
                                  "nodeType": "EmitStatement",
                                  "src": "23748:67:17"
                                },
                                {
                                  "expression": {
                                    "id": 3918,
                                    "name": "_evmUsedFunds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3889,
                                    "src": "23841:13:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "functionReturnParameters": 3864,
                                  "id": 3919,
                                  "nodeType": "Return",
                                  "src": "23834:20:17"
                                }
                              ]
                            },
                            "errorName": "",
                            "id": 3921,
                            "nodeType": "TryCatchClause",
                            "parameters": {
                              "id": 3890,
                              "nodeType": "ParameterList",
                              "parameters": [
                                {
                                  "constant": false,
                                  "id": 3887,
                                  "mutability": "mutable",
                                  "name": "_latestQueryId",
                                  "nameLocation": "23393:14:17",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 3921,
                                  "src": "23385:22:17",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "typeName": {
                                    "id": 3886,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "23385:7:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "visibility": "internal"
                                },
                                {
                                  "constant": false,
                                  "id": 3889,
                                  "mutability": "mutable",
                                  "name": "_evmUsedFunds",
                                  "nameLocation": "23434:13:17",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 3921,
                                  "src": "23426:21:17",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "typeName": {
                                    "id": 3888,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "23426:7:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "src": "23366:110:17"
                            },
                            "src": "23358:526:17"
                          },
                          {
                            "block": {
                              "id": 3929,
                              "nodeType": "Block",
                              "src": "23920:53:17",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "id": 3926,
                                        "name": "_reason",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 3923,
                                        "src": "23947:7:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "id": 3925,
                                      "name": "_revert",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 26513,
                                      "src": "23939:7:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                                        "typeString": "function (string memory) view"
                                      }
                                    },
                                    "id": 3927,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "23939:16:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 3928,
                                  "nodeType": "ExpressionStatement",
                                  "src": "23939:16:17"
                                }
                              ]
                            },
                            "errorName": "Error",
                            "id": 3930,
                            "nodeType": "TryCatchClause",
                            "parameters": {
                              "id": 3924,
                              "nodeType": "ParameterList",
                              "parameters": [
                                {
                                  "constant": false,
                                  "id": 3923,
                                  "mutability": "mutable",
                                  "name": "_reason",
                                  "nameLocation": "23911:7:17",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 3930,
                                  "src": "23897:21:17",
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string"
                                  },
                                  "typeName": {
                                    "id": 3922,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "23897:6:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_storage_ptr",
                                      "typeString": "string"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "src": "23896:23:17"
                            },
                            "src": "23885:88:17"
                          },
                          {
                            "block": {
                              "id": 3937,
                              "nodeType": "Block",
                              "src": "23995:88:17",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 3934,
                                      "name": "_revertWitPriceFeedsLegacyDataLibUnhandledException",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3792,
                                      "src": "24014:51:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                                        "typeString": "function () view"
                                      }
                                    },
                                    "id": 3935,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "24014:53:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 3936,
                                  "nodeType": "ExpressionStatement",
                                  "src": "24014:53:17"
                                }
                              ]
                            },
                            "errorName": "",
                            "id": 3938,
                            "nodeType": "TryCatchClause",
                            "parameters": {
                              "id": 3933,
                              "nodeType": "ParameterList",
                              "parameters": [
                                {
                                  "constant": false,
                                  "id": 3932,
                                  "mutability": "mutable",
                                  "name": "",
                                  "nameLocation": "-1:-1:-1",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 3938,
                                  "src": "23981:12:17",
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes"
                                  },
                                  "typeName": {
                                    "id": 3931,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "23981:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_storage_ptr",
                                      "typeString": "bytes"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "src": "23980:14:17"
                            },
                            "src": "23974:109:17"
                          }
                        ],
                        "externalCall": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 3880,
                                  "name": "witOracle",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2342,
                                  "src": "23227:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 3879,
                                "name": "IWitOracleQueriable",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26795,
                                "src": "23207:19:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriable_$26795_$",
                                  "typeString": "type(contract IWitOracleQueriable)"
                                }
                              },
                              "id": 3881,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "23207:30:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                "typeString": "contract IWitOracleQueriable"
                              }
                            },
                            {
                              "id": 3882,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3857,
                              "src": "23256:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            {
                              "id": 3883,
                              "name": "querySLA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3860,
                              "src": "23281:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                "typeString": "struct Witnet.QuerySLA memory"
                              }
                            },
                            {
                              "id": 3884,
                              "name": "_evmUpdateRequestFee",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3873,
                              "src": "23308:20:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                "typeString": "contract IWitOracleQueriable"
                              },
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              },
                              {
                                "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                "typeString": "struct Witnet.QuerySLA memory"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 3877,
                              "name": "WitPriceFeedsLegacyDataLib",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26464,
                              "src": "23148:26:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                                "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                              }
                            },
                            "id": 3878,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "23175:13:17",
                            "memberName": "requestUpdate",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25861,
                            "src": "23148:40:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_delegatecall_nonpayable$_t_contract$_IWitOracleQueriable_$26795_$_t_bytes4_$_t_struct$_QuerySLA_$37373_memory_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                              "typeString": "function (contract IWitOracleQueriable,bytes4,struct Witnet.QuerySLA memory,uint256) returns (uint256,uint256)"
                            }
                          },
                          "id": 3885,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23148:209:17",
                          "tryCall": true,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                            "typeString": "tuple(uint256,uint256)"
                          }
                        },
                        "id": 3939,
                        "nodeType": "TryStatement",
                        "src": "23144:939:17"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 3977,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__requestUpdate",
            "nameLocation": "22839:15:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3861,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3857,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "22876:6:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3977,
                  "src": "22869:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 3856,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "22869:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3860,
                  "mutability": "mutable",
                  "name": "querySLA",
                  "nameLocation": "22921:8:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3977,
                  "src": "22898:31:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                    "typeString": "struct Witnet.QuerySLA"
                  },
                  "typeName": {
                    "id": 3859,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3858,
                      "name": "Witnet.QuerySLA",
                      "nameLocations": [
                        "22898:6:17",
                        "22905:8:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37373,
                      "src": "22898:15:17"
                    },
                    "referencedDeclaration": 37373,
                    "src": "22898:15:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QuerySLA_$37373_storage_ptr",
                      "typeString": "struct Witnet.QuerySLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22854:86:17"
            },
            "returnParameters": {
              "id": 3864,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3863,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3977,
                  "src": "22985:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3862,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22985:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22984:9:17"
            },
            "scope": 3989,
            "src": "22830:1744:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3987,
              "nodeType": "Block",
              "src": "24670:59:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 3983,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "24688:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 3984,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24715:4:17",
                      "memberName": "data",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25245,
                      "src": "24688:31:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                        "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                      }
                    },
                    "id": 3985,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24688:33:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                    }
                  },
                  "functionReturnParameters": 3982,
                  "id": 3986,
                  "nodeType": "Return",
                  "src": "24681:40:17"
                }
              ]
            },
            "id": 3988,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__storage",
            "nameLocation": "24591:9:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3978,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "24600:2:17"
            },
            "returnParameters": {
              "id": 3982,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3981,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3988,
                  "src": "24626:42:17",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                    "typeString": "struct WitPriceFeedsLegacyDataLib.Storage"
                  },
                  "typeName": {
                    "id": 3980,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3979,
                      "name": "WitPriceFeedsLegacyDataLib.Storage",
                      "nameLocations": [
                        "24626:26:17",
                        "24653:7:17"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 25152,
                      "src": "24626:34:17"
                    },
                    "referencedDeclaration": 25152,
                    "src": "24626:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Storage"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24625:44:17"
            },
            "scope": 3989,
            "src": "24582:147:17",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 3990,
        "src": "449:24283:17",
        "usedErrors": [
          16,
          19,
          281,
          286,
          537
        ],
        "usedEvents": [
          24,
          292,
          29130,
          29373,
          29381,
          29389,
          29531,
          45638,
          45853
        ]
      }
    ],
    "src": "33:24701:17"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {
    "1": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {
        "WitPriceFeedsLegacyDataLib": "0xdC674D637f5DbF2D043c8BCeb2CbB9B61A1Bba8a"
      },
      "address": "0xF28Aaa3333559f7504b08c72e9511e032F6d7B3F"
    },
    "1285": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {
        "WitPriceFeedsLegacyDataLib": "0xc45c93083F7B97Cdb700D4D2ADE6a727E04793ff"
      },
      "address": "0x00B43C170FD71728BFCF2b5425fB5906728BA06D"
    },
    "1287": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {
        "WitPriceFeedsLegacyDataLib": "0x7Bd6FdaEf3e6773d1580590d913cF4dB0CD88829"
      },
      "address": "0x956159c7DC8ccC79c9F566Ce4E203aCA005693b1"
    },
    "4801": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {
        "WitPriceFeedsLegacyDataLib": "0xBfFA2ec6225390C517A1bEB83b27a171C6734294"
      },
      "address": "0x8E14fFD7C94c7F2c88EbE54A279e819D53c52009"
    },
    "84532": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {
        "WitPriceFeedsLegacyDataLib": "0x9d39313F5D9c7575EeDA9ACdE6a91BBCc4D6D2B2"
      },
      "address": "0xCF9f2727b04FF2D0AD526f2704aa833aE26a024e"
    },
    "11155111": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {
        "WitPriceFeedsLegacyDataLib": "0x9e1c82ab0809A4996C36ef3dc646B07089F0B903"
      },
      "address": "0x7c0e1686E88238e07cCda502320058480341Dc83"
    },
    "11155420": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {
        "WitPriceFeedsLegacyDataLib": "0x86CAe8eD8cc27A4069E7FAAEe031b9cA75A8F7d7"
      },
      "address": "0x23b3BABb466E25C3AB9611cAe59c511B80c6FEC1"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.370Z",
  "devdoc": {
    "author": "Guillermo Díaz <guillermo@witnet.io>",
    "errors": {
      "InvalidInitialization()": [
        {
          "details": "The contract is already initialized."
        }
      ],
      "NotInitializing()": [
        {
          "details": "The contract is not initializing."
        }
      ],
      "OwnableInvalidOwner(address)": [
        {
          "details": "The owner is not a valid owner account. (eg. `address(0)`)"
        }
      ],
      "OwnableUnauthorizedAccount(address)": [
        {
          "details": "The caller account is not authorized to perform an operation."
        }
      ],
      "ReentrancyGuardReentrantCall()": [
        {
          "details": "Unauthorized reentrant call."
        }
      ]
    },
    "events": {
      "Initialized(uint64)": {
        "details": "Triggered when the contract has been initialized or reinitialized."
      },
      "Upgraded(address,address,bytes32,string)": {
        "params": {
          "baseAddr": "The address of the new implementation contract.",
          "baseCodehash": "The EVM-codehash of the new implementation contract.",
          "from": "The address who ordered the upgrading. Namely, the WRB operator in \"trustable\" implementations.",
          "versionTag": "Ascii-encoded version literal with which the implementation deployer decided to tag it."
        }
      }
    },
    "kind": "dev",
    "methods": {
      "base()": {
        "details": "Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern."
      },
      "codehash()": {
        "details": "Retrieves the immutable codehash of this contract, even if invoked as delegatecall."
      },
      "footprint()": {
        "details": "Ergo, `footprint()` changes if any data source is modified, or the dependecy treeon any routed price feed is altered."
      },
      "initialize(bytes)": {
        "details": "Must fail when trying to upgrade to same logic contract more than once."
      },
      "isUpgradable()": {
        "details": "Determines whether the logic of this contract is potentially upgradable."
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
      }
    },
    "title": "WitPriceFeeds: Price Feeds upgradable repository reliant on the Wit/Oracle blockchain.",
    "version": 1
  },
  "userdoc": {
    "events": {
      "PullingUpdate(address,address,bytes4,uint256)": {
        "notice": "A fresh update on the data feed identified as `erc2364Id4` has just been  requested and paid for by some `evmSender`, under command of the  `evmOrigin` externally owned account. "
      },
      "Upgraded(address,address,bytes32,string)": {
        "notice": "Emitted every time the contract gets upgraded."
      }
    },
    "kind": "user",
    "methods": {
      "class()": {
        "notice": "Returns the name of the actual contract implementing the logic of this Witnet appliance."
      },
      "dataType()": {
        "notice": "Primitive data type produced by successful data updates of all supported feeds (e.g. Witnet.RadonDataTypes.Integer in WitPriceFeeds)."
      },
      "defaultRadonSLA()": {
        "notice": "=============================================================================================================== --- IWitFeedsLegacy -------------------------------------------------------------------------------------------"
      },
      "footprint()": {
        "notice": "Returns unique hash determined by the combination of data sources being usedon non-routed price feeds, and dependencies of routed price feeds."
      },
      "hash(string)": {
        "notice": "This pure function determines the ERC-2362 identifier of the given data feed  caption string, truncated to bytes4."
      },
      "initialize(bytes)": {
        "notice": "Re-initialize contract's storage context upon a new upgrade from a proxy."
      },
      "isUpgradableFrom(address)": {
        "notice": "Tells whether provided address could eventually upgrade the contract."
      },
      "lastValidQueryId(bytes4)": {
        "notice": "Returns the query id (in the context of the WitOracle addressed by witOracle())  that solved the most recently updated value for the given feed."
      },
      "lastValidQueryResponse(bytes4)": {
        "notice": "Returns the actual response from the Witnet oracle blockchain to the last  successful update for the given data feed."
      },
      "latestUpdateQueryId(bytes4)": {
        "notice": "Returns the Witnet query id of the latest update attempt for the given data feed."
      },
      "latestUpdateQueryRequest(bytes4)": {
        "notice": "Returns the actual request queried to the the Witnet oracle blockchain on the latest  update attempt for the given data feed."
      },
      "prefix()": {
        "notice": "ERC-2362 caption prefix shared by all supported feeds (e.g. \"Price-\" in WitPriceFeeds)."
      },
      "requestUpdate(bytes4)": {
        "notice": "Triggers a fresh update on the Witnet oracle blockchain for the given data feed,  using the defaultRadonSLA() security parameters."
      },
      "specs()": {
        "notice": "Returns the ERC-165 id of the minimal functionality expected for this appliance."
      },
      "supportedFeeds()": {
        "notice": "Returns the list of feed ERC-2362 ids, captions and RAD hashes of all currently supported  data feeds. The RAD hash of a data feed determines in a verifiable way the actual data sources  and off-chain computations solved by the Witnet oracle blockchain upon every data update.  The RAD hash value for a routed feed actually contains the address of the IWitnetPriceSolver  logic contract that solves it."
      },
      "totalFeeds()": {
        "notice": "Total number of data feeds, routed or not, that are currently supported."
      },
      "version()": {
        "notice": "Retrieves human-readable version tag of current implementation."
      },
      "witOracle()": {
        "notice": "Returns the WitOracle address that this appliance is bound to."
      }
    },
    "version": 1
  }
}